我们的HTML中包含Google Analytics和Azure Application Insights分析脚本,包括Google Analytics。它们位于<script>
中的<head>
标记中。当我们使用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。
并且每隔几秒钟重复设置此错误:
选项http://localhost:3000/browser-sync/socket.io/?EIO=3&transport=polling&t=1494358572782-5 400(错误请求)
选项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 Origin阻止它们会让它工作得很好。
我想知道在注入Browsersync标记之前是否与这些脚本标记有关(紧接在<body>
标记内,请参阅documentation)。但是将它们移到<body>
标记的末尾并没有解决问题。
造成这种情况的原因是什么以及如何减轻它?
答案 0 :(得分:1)
注意:这不是一个答案&#39;但是太长了,无法发表评论。
使用Firefox网站开发人员工具栏的javascript控制台调试器和Chrome,我查看了使用Google Analytics的网页,我相信你可以在很大程度上排除可疑列表中的google分析,他们通常用他们的j做好工作。
您的错误也明确指向浏览器同步,因此可能是罪魁祸首。但是你的本地开发站点是可疑的,为什么你没有为它创建一个合适的虚拟主机,而不是使用localhost?我对浏览器同步一无所知,所以我要注意这一点,以排除您案例中的可能性。
我怀疑你的实时网站是以localhost身份运行的,所以你可能想要纠正这个问题,以消除一个可能出现小差异的可能点。我总是尝试在我做的任何网站上的所有网站上尽可能接近实时生产,这意味着你永远不会在网站的实际运行代码中的任何地方看到本地主机,你会看到该网站的开发或真实域名,如:http://our-dev-site/或其他。