Firefox «Ошибка загрузки скрипта» при загрузке Google Analytics в FF2 - PullRequest
12 голосов
/ 10 октября 2008

В проекте, над которым я работаю, используется обработчик событий 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.

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

Ответы [ 5 ]

8 голосов
/ 07 октября 2011

Эта проблема возникает, когда вы покидаете страницу в 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;
}
2 голосов
/ 31 октября 2008

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

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

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

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

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

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

Aagh!

2 голосов
/ 10 октября 2008

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

1 голос
/ 26 июня 2012

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

0 голосов
/ 15 июля 2011

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

...