2017-05-09 28 views
9

我们在我们的HTML中包含Google Analytics和Azure Application Insights分析脚本,其中包括Google Analytics。他们在<head><script>标签中。由于我们使用早午餐作为构建系统,因此当我们使用Browsersync进行观看时,特别是使用浏览器同步早午餐时,它们会导致错误。在看,但是,这种错误是打印到控制台两次(有趣的是,我们有两个分析代码):带分析脚本导致错误的BrowserSync

的XMLHttpRequest无法加载http://localhost:3000/browser-sync/socket.io/?EIO=3&transport=polling&t=1494358571902-4&sid=rhGMlOFa_MbRrYbLAAAD。预检响应中的Access-Control-Allow-Headers不允许请求标头字段x-ms-request-id。

,但此错误重复设定每隔几秒钟:

OPTIONS http://localhost:3000/browser-sync/socket.io/?EIO=3&transport=polling&t=1494358572782-5 400(错误请求)

OPTIONS http://localhost:3000/browser-sync/socket.io/?EIO=3&transport=polling&t=1494358572782-5 400(错误请求)

的XMLHttpRequest无法加载http://localhost:3000/browser-sync/socket.io/?EIO=3&transport=polling&t=1494358572782-5。预检响应具有无效的HTTP状态码400

我相当肯定这些分析脚本是造成问题的原因是uBlock地阻止他们使得它的工作就好了。

我想知道它是否与这些脚本标记在浏览器同步标记注入之前(立即在<body>标记内,请参阅documentation)有关。但将它们移动到<body>标记的末尾并未解决问题。

是什么导致了这种情况,它如何被缓解?

+0

这是否发生在现场服务器上,'localhost'使得这看起来像你正在某种奇怪配置的测试环境中运行这个。一些远程的东西可能希望从它所链接的域运行。既然你完全控制了所有这些混乱的第三方js事物,真正的问题是如果一组错误实际上影响页面上的功能,或者它只是一个滚动错误。我们的网站使用一些第三方的东西,他们倾向于发出各种错误,但我忽略它们,因为我无法修复它们的错误代码。 – Lizardx

+0

“我们HTML中的一些分析脚本” - 我实际上会低估这个问题,因为你说你正在运行一些未知的东西,再加上分析,然后你问是什么原因造成的。你必须提供所有的数据,你正在使用的所有工具,可能有人看到这些错误附加到一个特定的分析工具,但我总是试图避免运行多个analtyics第三方js库,因为它们都是非常侵入性的,不能有望与其他人打好关系。本地主机也是高度可疑的,它使我认为这是因为该工具链接到一个域。 – Lizardx

+0

@Lizardx我在开发代码时正在运行本地服务器。我已经使用Google Analytics和Azure Application Insights进行了更新。 –

回答

0

注意:这不是一个'答案',但太长,不能成为评论。

同时使用Firefox的Web开发人员工具栏的JavaScript控制台调试器,Chrome的,我查了一下我们的网页,其中使用谷歌分析,我相信你可以在很大程度上排除了嫌疑人名单的谷歌分析,他们通常做一个确定的工作与他们的JS 。

你的错误也清楚地指向浏览器同步,所以这可能是罪魁祸首。然而,你的本地开发网站是可疑的,为什么你没有为它做一个适当的虚拟主机,而不是使用本地主机?我对浏览器同步一无所知,所以我只会注意到这一点,以排除您的情况。

我怀疑你的live站点是以localhost身份运行的,所以你可能想纠正这个问题,以消除可能出现的小差异的可能点。我总是尽量使用任何站点上的一切活动这意味着你永远不会在网站的实际运行代码中的任何地方看到本地主机,你会看到该网站是dev或真正的域名,如:http://our-dev-site/或其他。