ajax.googleapis.com停止我的Firefox


13

今天,由于某些奇怪的原因,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整夜保持打开状态,以便给他进行更改以加载文件,我希望是我被缓存了,下次不需要了。

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

这是显示问题的视频:

替代文字


2
您遇到的具体问题是什么?Firefox是否完全冻结,是否停止呈现页面,还是只是停留在状态栏中的“等待ajax.googleapis.com ...”?
zacharyliu

尝试以安全模式启动无任何插件的Firefox,并对其进行测试
-ukanth

@ thezachperson31:稍后。
OscarRyz

我猜Chrome和Safari仍然从较早的连接中缓存了它?代理对其他Google 托管的库有什么作用,例如完整版本在ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.js或在UI工具在ajax.googleapis.com/ajax/ libs / jqueryui / 1.7.2 / jquery-ui.js
Arjan

xx.mxmc你用代理服务器需要的东西在你的办公室或需要为您的网络服务提供商,对不对?(只是为了确认您的curl --proxy name:port url工作对我有效,请与提供商的代理联系。)
Arjan

Answers:



3

ajax.googleapis.com上的一些Google API存在一些严重的Firefox性能问题。例子很多,其中一个是在输入Google自己的搜索栏中时字符太慢或缺少字符。

我使用Adblock Plus阻止从Google'a“ http://ajax.googleapis.com/ * 访问所有Ajax API 。这解决了许多Firefox Web性能问题。不利的一面是,某些较新的网站可能需要Ajax API可以正常显示或运行。


2
这不是最好的主意。如果您阻止了这些文件,则将不会获得这些文件,并且网站将无法正常运行。阻止jQuery文件类似于不给汽车加油。
Nick DeVore

Superuser.com是无法从Google下载jquery并抛出错误消息的网站之一:“超级用户需要来自另一个域的外部JavaScript,该域被阻止或无法加载。” 因此,从对googleapis.com和其他不受信任的域进行防火墙的位置开始使用它是一种严重的PITA。
颠倒

3

如果不需要它,可以通过在主机文件中添加黑洞

0.0.0.0 ajax.googleapis.com

您不妨查看一下教程和阻止列表,以确保安全。

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


1

Firebug是您加载的唯一扩展吗?那NoScript或Adblock呢?尝试以“ 安全模式 ” 启动Firefox 并访问您之前尝试过的Google URL。


是的,那是唯一的。
OscarRyz

1

ajax.googleapis.comURL指向一个外部JavaScript库,其中包含网页可能在其自身的某些嵌入式JavaScript中使用的功能。

在大多数(如果不是全部)浏览器中,在所有内联脚本执行完*之前,页面中不会呈现任何内容。即使内联JavaScript不需要该外部JavaScript库中的任何内容,您的浏览器也需要首先下载所有定义的外部库,以防万一。因此,如果外部脚本不在浏览器的缓存中(或:每当您明确刷新浏览器‡时),所有内容都将暂停,直到下载脚本为止。

ajax.googleapis.comURL在我的互联网连接上加载良好,并且我假设Safari和Chrome仍在其缓存中包含该库?至于非常慢的代理:这可能是某些病毒扫描程序(在Mac上不太可能)或某些防火墙?如果问题出在代理服务器上,那超出了您的控制范围,因此(假设您需要使用代理服务器):请与管理员联系?同时,您可以对Google托管的其他库(如jQuery 1.3.2jQuery UI 1.7.2)重复测试。

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


*请参见Cuzillion的(慢速)示例。尽管IE8是第一个浏览器,以下载脚本平行,它仍然不执行并行他们。

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

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


1

在使用Firefox之前,我曾随机遇到过这种情况。如果得到Firebug,则可以转到“网络”选项卡,右键单击仍在加载的脚本,然后选择“停止加载”。这将解决问题。


0

您能否在Fx地址栏中输入“罪魁祸首链接”(每个第2个Web 2.0站点都使用)并手动加载?

尝试其他一些引用此JQuery库的站点。只是Google的URL,您将找到足够的示例。

您是否尝试过使用新的干净配置文件?插件有时会互相影响(NoScript与ABP问题 ...)


Fx是Firefox吗?是的,我做到了,并且我得到了相同的结果(嗯,我得到的结果是,文件长时间处于“下载”状态)
OscarRyz

Fx关闭。缩写 F。火狐浏览器。那真的,真的听起来很奇怪。您尝试过干净的个人资料吗?
guerda
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.