为什么Brazen Careerist中的图标会在Internet Explorer中触发SCRIPT1014错误?

时间:2012-04-29 05:13:18

标签: javascript internet-explorer html-validation

我在我的网页(www.ctrlaltm.com)上将此链接添加到我在Brazeen Careerist上的个人资料中。每当我在任何版本的IE中加载此页面时,都会出现以下错误:

SCRIPT1014:无效字符 widget_tracking.1.js,第6行第39个字符

图标代码来自Brazen Careerist(http://www.brazencareerist.com/help/badges/icon),内容如下:

<a id="sicon-bclink" name="My Brazen Careerist Social Resume" href="http://www.brazencareerist.com/profile/maggiet?utm_source=22088&utm_medium=single&utm_campaign=icon"><img border="0" alt="My Brazen Careerist Social Resume" src="http://static.brazencareerist.com/v6/ui_widget/icons/icon_bc.png"/></a>
<script type="text/javascript">var bctrk_cat = "icon";var bctrk_act = "SingleView";var bctrk_uid = "22088";</script> 
<script src="http://static.brazencareerist.com/v6/ui_widget/widget_tracking.1.js" type="text/javascript"></script>

我在IE9的开发者工具中检查了调试器,但是当我检查错误发生的地方时,所有它说的问题是第6行,第39个字符指向左引号。这对我没有任何意义。我能想到的唯一潜在问题是当我将&更改为&amp; a m p; (原始链接中仅添加空格以显示字符实体)在HTML 4.01下进行验证严格它以某种方式弄乱了JS,但我不确定为什么会发生这种情况。

2 个答案:

答案 0 :(得分:2)

这不是Internet Explorer的问题,也不是 Internet Explorer的独占问题。在Chrome中打开同一页面会在我们的控制台中显示以下内容:

Uncaught SyntaxError: Unexpected token ILLEGAL ... widget_tracking.1.js:6

您在IE控制台中也收到了相同的消息。当我们查看本节时,我们发现在双引号之前有斜杠,这是错误的。

var bcPageTracker = _gat._getTracker(\"UA-3762378-1\");

更改为:

var bcPageTracker = _gat._getTracker("UA-3762378-1");

当然,一旦你解决了这个问题,你就会遇到下一个错误:SCRIPT5009: '_gat' is undefined。这是因为您尝试将两个脚本标记连接到一个.js文件中。我建议您再次下载跟踪代码,将其粘贴到网站的页脚中,不要再篡改它。

这是您应该使用此代码的方式:

  <!-- Google Analytics Code -->
  <script type="text/javascript">
    var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
    document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
  </script>
  <script type="text/javascript">
    var pageTracker = _gat._getTracker("UA-3762378-1");
    pageTracker._initData();
    pageTracker._trackPageview();
  </script>
  <!-- End Google Analytics Code -->
</body>

答案 1 :(得分:1)

这是第6行,如果你看起来很难,你会看到无效的字符
var bcPageTracker = _gat._getTracker(\"UA-3762378-1\");