Firefox'错误加载脚本'在FF2中加载Google Analytics

时间:2008-10-10 18:33:22

标签: javascript firefox google-analytics

我正在处理的项目使用window.onerror事件处理程序来报告用户问题。我注意到单个用户似乎无法加载Google Analytics脚本。我们的网站没有看到很多流量,所以我不确定这是多么广泛,但到目前为止它似乎只影响一个用户。

他的用户代理是:“Mozilla / 5.0(Windows; U; Windows NT 5.1; en-US; rv:1.8.1.17)Gecko / 20080829 Firefox / 2.0.0.17”。 Firefox提供的错误消息是:“加载脚本时出错”。

附加说明:该网站引用了其他几个javascript文件。但是,分析引用是唯一一个外部域,并且是页面底部唯一的脚本引用,就在关闭正文标记之前。

是否还有其他人遇到此问题,或者知道可能存在什么问题?谢谢!

5 个答案:

答案 0 :(得分:8)

在所有脚本加载完毕之前在Firefox中离开页面时会出现此问题。所以我认为忽略错误是安全的。

您在Firefox错误控制台中没有看到此错误,但您可以通过将警报绑定到window.onerror事件来使其可见。然后,您将能够在短时间内看到警告框,并在错误控制台中收到以下错误:

[11:35:57.428] uncaught exception: [Exception... "prompt aborted by user"  nsresult: "0x80040111 (NS_ERROR_NOT_AVAILABLE)"  location: "JS frame :: resource:///components/nsPrompter.js :: openTabPrompt :: line 462"  data: no]

我正在使用以下检查在我的onerror处理程序中忽略此错误:

if (navigator.userAgent.search('Firefox') != -1 && message === 'Error loading script') {
    // Firefox generates this error when leaving a page before all scripts have finished loading
    return;
}

答案 1 :(得分:2)

这是一个相当随机的猜测,但我想知道用户是否使用像NoScript这样的插件来控制脚本执行,并且不允许来自Google Analytics的脚本运行。我知道这是可能的,因为这就是我所做的:)我不知道这是否会显示为你所看到的错误。

答案 2 :(得分:2)

我有一个超过80页的网站,所有这些都使用了JavaScript错误捕获。我的网站每天服务超过2000页,我每天从Firefox浏览器中获得大约10个“错误加载脚本”脚本错误。它开始真的让我烦恼,我开始相信这是Firefox中的一个问题。

我可以打折NOSCRIPT建议,因为脚本会加载到我的页面中没有NOSCRIPT标签的位置。

我可以打折“外部域名”建议,因为我有两个站点遇到这个问题,在这两种情况下,JS库文件都位于站点自己的服务器上。

我已经使用JavaScript Lint仔细检查了每个库文件和网页,我发现了脚本错误和可疑的脚本技术。所有这些问题都已得到纠正,但这并没有为“错误加载脚本”问题提供任何治疗方法。

我的网页会加载几个没有此问题的JavaScript库文件,唯一的区别是文件的大小。大多数文件都在5KB以下,但问题文件是17KB。

库文件的大小可能是问题吗?

Aagh!

答案 3 :(得分:1)

我们遇到了同样的问题,在检查了我们的CDN日志之后,我们发现当脚本以HTTP状态“304 Not Modified”返回时,Firefox会触发onerror事件,因此缓存命中。实际上,Firefox(在撰写本文时使用Firefox 12测试过)似乎会触发除“200 Ok”之外的所有HTTP状态的onerror事件。其他浏览器在我们的实验中表现不同:Chrome(19)仅在“需要407代理身份验证”和100(101,204,4xx和5xx)上的Opera(12)上触发错误。

答案 4 :(得分:0)

我确信这个问题已经解决了很长时间..但对于任何偶然发现此页面的人来说:当外部脚本无法加载时,firefox会触发此错误(很容易找到在源代码中触发此代码的代码) 。我们在我们的网站上发现了这些错误,事实证明我们正在为脚本返回404,因此我建议将您的日志视为此错误的可能来源。