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 принимают это сразу.

Прошлой ночью я оставил ФФ открытым на всю ночь, чтобы дать ему возможность загрузить файл, я надеялся, что меня кэшируют, и в следующий раз в этом не было необходимости.

Сегодня утром страница загрузилась успешно, но страница не была кэширована, потому что следующий запрос не удался.

Вот видео, показывающее проблему:

альтернативный текст

7 ответов7

4

Расширение Firefox Decentraleyes, созданное в 2015 году, заменяет ресурсы CDN локальными. Сам никогда не пробовал, но по отзывам выглядит многообещающе.

3

Есть некоторые серьезные проблемы с производительностью Firefox с некоторыми из API Google, доступных на ajax.googleapis.com. Один из многих примеров - медленные или отсутствующие символы при вводе в собственную строку поиска Google.

Я использовал Adblock Plus, чтобы заблокировать доступ ко всем API Ajax из Google'a " http://ajax.googleapis.com/ *. Это исправило многие проблемы с производительностью Firefox в Интернете. Недостатком является то, что некоторые новые веб-сайты могут требовать, чтобы Ajax API появлялись или функционировали должным образом.

3

Если вам это не нужно, черная дыра в файле хостов, добавив

0.0.0.0 ajax.googleapis.com

Вы могли бы также взглянуть на учебник и список заблокированных, чтобы сохранить вас в безопасности.

Рекомендуется блокировать подключения к вашему компьютеру из этих доменов, а не пытаться заблокировать сценарий уже установленного подключения.

1

URL ajax.googleapis.com ссылается на внешнюю библиотеку JavaScript, которая содержит функции, которые веб-страница может использовать в некоторых собственных встроенных JavaScript.

В большинстве (если не во всех) браузерах ничто на странице не отображается до тех пор, пока все встроенные скрипты не будут выполнены *. Даже когда встроенному JavaScript ничего не нужно из этих внешних библиотек JavaScript, вашему браузеру необходимо сначала загрузить все определенные внешние библиотеки, на случай, если они понадобятся. Итак, если внешний скрипт не находится в кэше вашего браузера (или: всякий раз, когда вы явно обновляете свой браузер ), то все останавливается, пока скрипт не будет загружен.

URL-адрес ajax.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 является первым браузером, который загружает сценарии параллельно, он все равно не будет выполнять их параллельно.

Google просит ваш браузер кэшировать его на 31 536 000 секунд, то есть 365 дней. Кроме того, он допускает публичное кеширование, поэтому прокси-серверу разрешено его кешировать и использовать для других клиентов.

При нажатии кнопки «Обновить» для кэшированных элементов большинство браузеров добавляют к запросу заголовок If-Modified-Since , что позволяет загружать его только в том случае, если объект в кэше устарел. Но: даже если сервер отвечает HTTP/1.x 304 Not Modified , браузер все еще должен ждать этого ответа. Итак, нажатие кнопки «Обновить» при медленной работе может ухудшить ситуацию!

1

Я случайно столкнулся с этим раньше с Firefox. Если вы получили Firebug, вы можете перейти на вкладку "Сеть", щелкнуть правой кнопкой мыши скрипт, который все еще загружается, и выбрать "Остановить загрузку". Это обойдет проблему.

1

Является ли Firebug единственным расширением, которое вы загрузили? Что насчет NoScript или Adblock? Попробуйте запустить Firefox в « безопасном режиме » и получить доступ к URL-адресу Google, который вы пробовали ранее.

0

Не могли бы вы ввести "ссылку преступника" (которую использует каждый второй сайт Web 2.0) в адресную строку Fx и загрузить ее вручную?

Попробуйте другие сайты, которые ссылаются на эту библиотеку JQuery. Просто Google URL, вы найдете достаточно примеров.

Вы пробовали это с новым, чистым профилем? Аддоны иногда работают против друг друга (проблема NoScript против ABP...)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .