ajax.googleapis.com 阻止了我的 Firefox

ajax.googleapis.com 阻止了我的 Firefox

今天,由于某种奇怪的原因,Firefox 停止正常工作,因为它正在尝试从ajax.googleapis.com

我能做些什么来避免这种情况?Safari 和 Chrome 运行正常。

我尝试卸载 Firebug 并清除缓存。

唯一有效的办法是完全禁用 JavaScript。

这似乎是罪魁祸首链接:

http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js

我能做些什么?

编辑

我觉得我已经找到问题所在了。我的代理每次只为文件提供一字节,因此 Firefox 会一直使用它。

我不明白为什么 Safari 和 Chrome 会立即接受它。

我昨晚所做的是,让 FF 整晚都打开,让他有机会加载文件,我希望我被缓存了,下次就不需要再去缓存了。

今天早上,页面加载成功但是页面没有缓存,因为下一次请求同样失败了。

以下视频展示了该问题:

替代文本

答案1

Firefox 扩展Decentraleyes,创建于 2015 年,用本地资源替换 CDN 资源。我从未尝试过,但根据评论,它看起来很有前景。

答案2

ajax.googleapis.com 提供的一些 Google API 存在严重的 Firefox 性能问题。许多示例之一就是在 Google 自己的搜索栏中输入内容时速度很慢或缺少字符。

我使用 Adblock Plus 来阻止 Google 访问所有 Ajax API”http://ajax.googleapis.com/*。这修复了许多 Firefox Web 性能问题。缺点是一些较新的网站可能需要 Ajax API 才能正常显示或运行。

答案3

如果你不需要它,请在 hosts 文件中添加

0.0.0.0 ajax.googleapis.com

你还不如查看教程和阻止列表以保证您的安全。

最好阻止这些域与您的计算机的连接,而不是尝试阻止已建立的连接的脚本。

答案4

ajax.googleapis.comURL 指的是外部 JavaScript 库,其中包含网页函数可能使用其自身的一些内联 JavaScript。

在大多数(如果不是全部)浏览器中,页面中的内容不会呈现,直到所有排队脚本执行完毕*。即使内联 JavaScript 不需要外部 JavaScript 库中的任何内容,浏览器也需要先下载所有定义的外部库,以防万一需要它们。因此,如果外部脚本不在浏览器的缓存中(或:每当您明确刷新了浏览器),然后一切都会停止,直到脚本下载完成。

URLajax.googleapis.com在我的互联网连接上加载正常,我猜 Safari 和 Chrome 的缓存中仍有这个库?至于代理速度非常慢:这可能是某些病毒扫描程序(Mac 上不太可能)或某些防火墙?如果问题出在代理上,那么你就无法控制了,所以(假设你需要使用代理):联系管理员?同时,你可以对 Google 托管的其他库重复测试,例如jQuery 1.3.2或者jQuery UI 1.7.2

(如果真的一切都失败了,那么您可以尝试找到某种方法将请求重写为ajax.googleapis.com/[..]/1.3.2/jquery.min.js其他主机的 URL...)


*参见(慢)Cuzillion 的示例. 尽管 IE8 是第一款浏览器下载并行脚本,它仍然不会执行使它们并行。

谷歌告诉你的浏览器将其缓存 31,536,000 秒,即 365 天。并且它允许公开缓存,因此允许代理缓存它,并将其用于其他客户端。

当点击刷新时,对于缓存的项目,大多数浏览器都会If-Modified-Since在请求中添加标头,因此只有缓存中​​的内容过期时才会真正下载。但是:即使服务器以 响应HTTP/1.x 304 Not Modified,浏览器仍需要等待该答案。因此:在速度较慢时点击刷新可能会使情况变得更糟!

相关内容