Firefox «Ошибка загрузки скрипта» при загрузке Google Analytics в FF2

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

Его пользовательский агент: "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.17) Gecko/20080829 Firefox/2.0.0.17".
Firefox выдает сообщение об ошибке: "Ошибка скрипт загрузки".

Дополнительное примечание. Сайт ссылается на несколько других файлов JavaScript. Однако ссылка на аналитику является единственной ссылкой на внешний домен и единственной ссылкой на сценарий в нижней части страницы, непосредственно перед закрывающим тегом body.

Кто-нибудь еще сталкивался с этим или знает, в чем может быть проблема? Спасибо!


person AgileJon    schedule 10.10.2008    source источник


Ответы (5)


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

Вы не видите эту ошибку в консоли ошибок Firefox, но вы можете сделать ее видимой, привязав предупреждение к событию window.onerror. Затем вы сможете увидеть окно предупреждения в течение небольшого промежутка времени и получить следующую ошибку в консоли ошибок:

[11:35:57.428] uncaught exception: [Exception... "prompt aborted by user"  nsresult: "0x80040111 (NS_ERROR_NOT_AVAILABLE)"  location: "JS frame :: resource:///components/nsPrompter.js :: openTabPrompt :: line 462"  data: no]

Я использую следующую проверку, чтобы игнорировать эту ошибку в моем обработчике onerror:

if (navigator.userAgent.search('Firefox') != -1 && message === 'Error loading script') {
    // Firefox generates this error when leaving a page before all scripts have finished loading
    return;
}
person Karl Bartel    schedule 07.10.2011
comment
Для тех, кто может использовать Airbrake/Hoptoad, могут быть полезны комментарии службы поддержки Airbrake: Переопределение Hoptoad.notify, Бета-код для фильтрации ошибок - person Sarge; 11.03.2012
comment
@rampr Я не думаю, что игнорировать их все совершенно безопасно. Но до сих пор у меня было много ошибок сценария Error Loading и ни одной реальной проблемы, поэтому я предпочитаю их игнорировать. - person Karl Bartel; 04.05.2012

Это довольно случайное предположение, но мне интересно, использует ли пользователь надстройку, такую ​​​​как NoScript, для управления выполнением скрипта и не разрешает запуск скриптов из Google Analytics. Я знаю, что это возможно, потому что это то, что я делаю :) Я не знаю, будет ли это отображаться как ошибка, которую вы видите.

person Dave Costa    schedule 10.10.2008

У меня есть сайт с более чем 80 страницами, на которых используется перехват ошибок JavaScript. Мой сайт обслуживает более 2000 страниц в день, и каждый день я получаю около десяти ошибок сценариев «Ошибка загрузки сценария» из браузеров Firefox. Меня это начинает сильно раздражать, и я убеждаюсь, что это проблема в Firefox.

Я могу отказаться от предложения NOSCRIPT, потому что сценарий загружается в заголовке моих страниц, где нет тегов NOSCRIPT.

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

Я тщательно проверил каждый библиотечный файл и веб-страницу с помощью JavaScript Lint и обнаружил ошибки сценариев и сомнительные методы написания сценариев. Все эти проблемы были исправлены, но это не помогло решить проблему «Ошибка загрузки скрипта».

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

Может ли размер файла библиотеки быть проблемой?

Ааа!

person Community    schedule 30.10.2008

У нас была та же проблема, и после изучения наших журналов CDN мы обнаружили, что Firefox запускает событие onerror, когда скрипт возвращается со статусом HTTP «304 Not Modified», поэтому попадание в кеш. Фактически, Firefox (протестированный с Firefox 12 на момент написания этой статьи), по-видимому, вызывает событие onerror для всех статусов HTTP, кроме «200 Ok». Другие браузеры в нашем эксперименте вели себя по-разному: Chrome (19) вызывал onerror только на «407 Proxy Authentication Required», а Opera (12) — на 100, 101, 204, 4xx и 5xx.

person Stefaan    schedule 25.06.2012

Я уверен, что это давно решено ... но для всех, кто наткнется на эту страницу: эта ошибка вызывается firefox, когда внешний скрипт не загружается (легко найти код, который запускает это в исходном коде). Мы ловили эти ошибки на нашем сайте, и оказалось, что мы возвращали 404 для скрипта, поэтому я предлагаю посмотреть ваши логи как один из возможных источников этой ошибки.

person bxjx    schedule 15.07.2011