这是困扰我的代码.我需要找到代码并替换为Fancybox代码,但它抛出一个错误:win未定义
替换mywin值
<cfsavecontent variable="x">
mywin = window.open (url,"win",'toolbar=yes,location=yes,resizable=yes,copyhistory=yes,scrollbars=ye?s,width=878,height=810');
</cfsavecontent>
Run Code Online (Sandbox Code Playgroud)
对此:
mywin = $.fancybox('href' :url,'width': '500');
Run Code Online (Sandbox Code Playgroud)
我这样想
<cfset a = Replace(x,"mywin = window.open (url,"win",'toolbar=yes,location=yes,resizable=yes,copyhistory=yes,scrollbars=yes,width=878,height=810');","$.fancybox()","one")>
Run Code Online (Sandbox Code Playgroud)
更新代码:
<cfsavecontent variable="foo">
function setmycode() {
url = "http://myurl.com?thestep=9&sortBy=1&sortOrder=1";
mywin = window.open (url,"win",'toolbar=yes,location=yes,directories=yes,status=yes,menubar=yes,resizable=yes,copyhistory=yes,scrollbars=yes,width=878,height=810');
mywin.focus();
return false;
}
</cfsavecontent>
<cfset a = Replace(foo,"mywin = window.open (url,""win"",'toolbar=yes,location=yes,resizable=yes,copyhistory=yes,scrollbars=yes,width=878,height=810');","$.fancybox()","one")>
<cfdump var="#a#">
Run Code Online (Sandbox Code Playgroud)
你需要注意你的代码.甚至在你的问题中突出显示的语法实际上都指出了错误!
如果一个错误说明了"胜利",并且文本"胜利"被一个语法高亮显示器突出显示......那么这就是错误所在的地方.这就是你应该仔细检查的内容.
你有一个用双引号分隔的字符串,但字符串本身有双引号:
mywin = window.open (url,"win",'toolbar=yes,location=yes,resizable=yes,copyhistory=yes,scrollbars=yes,width=878,height=810');
Run Code Online (Sandbox Code Playgroud)
因此CF解析器将第一个双引号"win"视为字符串的结尾.然后接下来就是垃圾(并且会产生语法错误,如您所见).
如果你的字符串中包含字符串分隔符,则需要将它们转义.在CFML中,人们通过将它们加倍来实现这一点,例如:( """ 特殊字符 ")
所以你的字符串变成:
mywin = window.open (url,""win"",'toolbar=yes,location=yes,resizable=yes,copyhistory=yes,scrollbars=yes,width=878,height=810');
Run Code Online (Sandbox Code Playgroud)
当分隔时,CF现在可以解析:
<cfset a = Replace(x,"mywin = window.open (url,""win"",'toolbar=yes,location=yes,resizable=yes,copyhistory=yes,scrollbars=yes,width=878,height=810');","$.fancybox()","one")>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
357 次 |
| 最近记录: |