JS中的Uncaught SyntaxError,可能还有WordPress

我不太清楚为什么我的代码会造成这种情况。

我在标题中有这个jquery脚本:

 $(document).ready(function() { $('.control').on('click', function(e) { e.preventDefault(); var field = $(this).data('field'); $('.hider:visible').fadeOut("slow", function() { $('#' + field + '-gallery, #' + field + '-tag').fadeIn("slow"); }); }); var randomIndex = Math.floor((Math.random() * 100) + 1) % 3; console.log(randomIndex); var field = $($('a').get(randomIndex)).data('field'); $('#' + field + '-gallery, #' + field + '-tag').fadeIn("slow"); })​;  

当我重新加载页面时,没有任何反应,因此看起来脚本没有运行。 当我在Chrome上检查页面时,我发现这个错误位于名为(程序)的选项卡中,它位于前几行中:

  if (window.top.require) { Uncaught SyntaxError: Unexpected token ILLEGAL window.top.require("ripple/bootstrap").inject(window, document);} 

我不知道我的代码中导致此错误的是什么。 当我拿出我的剧本时,它会消失。 不太确定是否是wordpress或jqueryUI的东西(我为另一个插件加载了)。

你和…之间的最后一行有一个非法的隐形字符;

将光标放在; ,并开始退格直到你删除) ,然后重新键入它们。

  })​; // ^^---between these 

您会注意到,在退格时,光标将无法移动一次。 那是在删除隐形字符的时候。

从jsFiddle或其他类似网站复制/粘贴代码时会发生这种情况。

角色是unicode \u200B

AFAIK,你不知道它来自哪里的脚本代码,是由Blackberry仿真器Ripple生成的,当它插入一个生成的脚本你的document.documentElement时( 参见GitHub )。 我已经看到这种行为导致我的许多项目出现问题,例如,使用dataType HTML插入ajax结果并使我的选择器混淆,或者将jjery表单插件与ajax响应更脏(无法链接到它)没有足够的声誉)等我觉得它可能会干扰你的javascript? 希望能帮助到你。