将内联Javascript函数作为参数传递给其他内联Javascript函数
字符串中的单引号正在创建执行_gaq.push函数的问题 现在我想替换文本字符串中的单引号,类似于replace(“'”,“\”)将内联Javascript函数作为参数传递给其他内联Javascript函数,javascript,Javascript,字符串中的单引号正在创建执行_gaq.push函数的问题 现在我想替换文本字符串中的单引号,类似于replace(“'”,“\”) 有人能帮我写一个替换javascript内联函数,并将其作为参数传递给_gaq.push函数吗 更新:- 我在一个内容管理系统支持的脚本语言中使用此脚本,该系统不再允许定义变量 所以我需要在一个名为onclick的java脚本中调用所有内容,唯一的方法是在onclick之外设置一个变量 var description = "Music and fun daddy
有人能帮我写一个替换javascript内联函数,并将其作为参数传递给_gaq.push函数吗
更新:-
我在一个内容管理系统支持的脚本语言中使用此脚本,该系统不再允许定义变量
所以我需要在一个名为onclick的java脚本中调用所有内容,唯一的方法是在onclick之外设置一个变量
var description = "Music and fun daddy's child".replace("'", "\'");
<a onclick="_gaq.push(['_trackEvent', 'XYZ', 'ABC', '" + description + "']);" href="www.xyz.com" target="_blank">
Deal with daddy
</a>
var description=“音乐和乐趣爸爸的孩子”。替换(“”,“\”);
在将'Music and fun daddy's child'
值传递给锚定标记onclick
函数之前,必须获取该值并使用.indexOf()
方法查找是否有任何单引号(”
)。
如果发现,必须使用.replace()
方法将其替换为\'
即
var str = "Music and fun daddy's child";
var n = str.indexOf("'");
if(n >= 0){
var n = str.replace("'","\\'");
alert(n);
}
然后将该值传递给函数,如
<a onclick="_gaq.push(['_trackEvent', 'XYZ', 'ABC', '"+n+"']);" href="www.xyz.com" target="_blank">
Deal with daddy
</a>
\u gaq.push
调用是否必须直接内联到onclick
处理程序?将其包装到函数中可能更容易,只需通过onclick
调用包装函数即可。这是如何呈现的?理想的解决方案是在呈现页面时正确地转义该值。查看我发布的答案当javascript一开始就已经是语法错误时,您无法使用javascript执行此操作。如何创建html标记?如果它是手写的,只需添加缺少的反斜杠,如果它是在服务器上动态生成的,请输入该代码并为服务器端语言添加标记。除Firefox之外的任何浏览器当前都不支持。我自己在Chrome 28上试过。您应该正在使用,它已得到支持(如果没有进一步支持的话)。在不通知您的情况下编辑它不会让您知道不支持.contains()
。我继续为您编辑了它,但是对于如此剧烈的变化,欢迎您自己编辑它,而不是将责任留给其他人,这样您就可以根据变化审查您的答案,以确保它仍然符合您的想法。@ajp15243编辑了我自己,感谢您的反馈。您是正确的人,但这里有一个挑战,我使用的脚本语言不允许我定义任何变量。这是内容管理系统支持的脚本语言。@user584那么在将此变量传递给函数之前,您可以用代码语言Java/c#any替换…您是对的,但这是一个挑战。我使用的脚本语言不允许我定义任何变量。它是内容管理系统支持的脚本语言。如何在HTML标记中使用该变量?目前看起来相当无效。
<a onclick="_gaq.push(['_trackEvent', 'XYZ', 'ABC', '"+n+"']);" href="www.xyz.com" target="_blank">
Deal with daddy
</a>