gpt4 book ai didi

javascript - BrowserSync 与导致错误的分析脚本

转载 作者:可可西里 更新时间:2023-11-01 02:48:02 29 4
gpt4 key购买 nike

我们的 HTML 中有 Google Analytics 和 Azure Application Insights 分析脚本,包括 Google Analytics。他们在 <script> <head> 中的标签.当我们使用 Browsersync 观看时,尤其是使用 browser-sync-brunch 时,它们会导致错误,因为我们使用 brunch 作为我们的构建系统。然而,在观看时,这个错误被打印到控制台两次(有趣的是我们有两个分析标签):

XMLHttpRequest cannot load http://localhost:3000/browser-sync/socket.io/?EIO=3&transport=polling&t=1494358571902-4&sid=rhGMlOFa_MbRrYbLAAAD. Request header field x-ms-request-id is not allowed by Access-Control-Allow-Headers in preflight response.

并且每隔几秒就会重复出现此错误:

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

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

XMLHttpRequest cannot load http://localhost:3000/browser-sync/socket.io/?EIO=3&transport=polling&t=1494358572782-5. Response for preflight has invalid HTTP status code 400

我相当确定是这些分析脚本导致了问题,因为使用 uBlock Origin 阻止它们可以使其正常工作。

我想知道它是否与这些脚本标签有关,这些脚本标签位于注入(inject) Browsersync 标签之前(紧接在 <body> 标签内,请参阅 documentation )。但是将它们移动到 <body> 的末尾标签没有解决问题。

是什么原因造成的,如何缓解?

最佳答案

注意:这不是“答案”,但太长而不能作为评论。

同时使用 Firefox Web 开发人员工具栏的 javascript 控制台调试器和 Chrome,我检查了我们的页面,这些页面使用了谷歌分析,我相信你可以在很大程度上从可疑列表中排除谷歌分析,他们通常用他们的 js 做的很好。

您的错误也都清楚地指向浏览器同步,所以这可能是罪魁祸首。然而,您的本地开发站点值得怀疑,您为什么不为它创建一个合适的虚拟主机,而不使用 localhost?我对浏览器同步一无所知,所以我只是注意到这一点以排除您的情况的可能性。

我怀疑您的实时站点是否作为本地主机运行,因此您可能希望更正该问题以消除可能会出现微小差异的点。我总是尝试在我做的任何站点上使用尽可能接近实时生产的内容,这意味着您永远不会在站点的实际运行代码中的任何地方看到本地主机,您会看到该站点是 dev 或真实域名,例如:http://our-dev-site/或其他。

关于javascript - BrowserSync 与导致错误的分析脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43878742/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com