未捕获的语法错误与jquery插件和chrome,在其他浏览器工作正常
Uncaught syntax error with jquery plugin and chrome, works fine in other browsers
基本上我正在尝试开发一个简单的插件,使我们能够动态地从JSON直接生成我们的GA onclicks。所以我编写了这个简短的脚本。工作很好,但chrome浏览器火灾"Uncaught SyntaxError: Unexpected identifier"
建议吗?
测试HTML文件:<script src="js/jquery-1.6.4.min.js" type="text/javascript"></script>
<script src="modules/onclicks/onclickify.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function(){
$.getJSON('modules/onclicks/clicks.json', function(data) {
$('#analytics').onclickify(data);
});
});
</script>
<script id="analytics"></script>
jQuery插件文件
(function( $ ){
$.fn.onclickify = function(clicks) {
var onclicks = "";
return this.each(function() {
$.each(clicks, function(key, value){
onclicks += "$('"+value.selector+"')";
onclicks += ".live('click', function(){'n";
onclicks += "_gaq.push(['_trackEvent',";
onclicks += value.name+"','";
onclicks += value.label+"','";
onclicks += value.action+"');'n";
onclicks += "});'n'n";
});
$(this).append(onclicks);
});
};
})( jQuery );
这行不通。您不能像那样附加一团jQuery源代码。好吧,你可以,但它不会像你想象的那样做任何事情。
我不知道你到底想做什么,但我认为你可以这样做:
(function( $ ){
$.fn.onclickify = function(clicks) {
return this.each(function() {
$.each(clicks, function(key, value){
$(value.selector)
.live('click', function(){
_gaq.push(['_trackEvent',
value.name,
value.label,
value.action
]);
});
});
});
};
})( jQuery );
相关文章:
- 是什么让一个“;Uncaught RangeError:超过了最大调用堆栈大小“;错误(Chrome,在其他浏览器中显示
- java脚本在Chrome和其他浏览器中对LocaleTimeString的不同行为
- Javascript的某些部分在Chrome中不起作用,但在其他浏览器中可以完美工作
- 如何在My chrome扩展中获取其他chrome扩展的DOM访问权限
- Javascript可以在chrome中使用,但不能在其他浏览器中使用
- 有没有一种方法可以在过滤掉iOS Chrome、Firefox和其他浏览器的同时检测iOS safari
- DomElement.click() 事件在 chrome 中不起作用,但其他事件可以工作
- 在Chrome中使用toDataURL有其他选择吗
- 我怎样才能摆脱chrome或其他浏览器中的录音符号
- 如何在Chrome扩展名的内容JS文件中包含其他JavaScript文件
- Chrome 撤消“阻止此页面创建其他对话框”的操作
- Chrome壁纸API适用于某些图像,不适用于其他图像,没有明显的原因
- 如何在同一应用的其他窗口上方创建 Chrome 应用窗口
- Chrome 扩展程序引用/调用内容脚本中的其他脚本函数
- Firefox 和 Chrome 阻止 youtube 视频和其他媒体
- Chrome 扩展程序会更新并重写为其他相同的扩展程序
- Chrome扩展程序如何基本上cURL其他页面
- 选择带有“其他”选项的框未显示在Chrome和Firefox中
- 日期格式在 Chrome 中给出的结果与其他浏览器中的结果不同
- HTML5 -webkit-transition如果我在Chrome上使用javascript设置其他内容之前设置正确,