JQuery & IE8 обнаружение сбоев - PullRequest
       12

JQuery & IE8 обнаружение сбоев

11 голосов
/ 24 августа 2011

Недавно меня попросили помочь отладить проблему с веб-сайтом, которая вызывала сбой IE8 при определенных условиях. Компании, которой принадлежит веб-сайт, не удалось воспроизвести проблему, но они получали много сообщений от затронутых пользователей.

Мне удалось воспроизвести проблему, и в итоге обнаружил, что она была вызвана этой проблемой jQuery / IE 8 . Проблема возникает, когда фоновое изображение применяется к тегу body с использованием CSS и загружается jQuery. В сообщении о комментариях к заявке об ошибке jQuery приведен пример jsFiddle , который, по крайней мере для меня, воспроизводит проблему последовательно.

  • Перейти к http://fiddle.jshell.net/ZKPZq/6/ с IE8.
  • Щелкните правой кнопкой мыши на экране результатов и обновите его - IE8 вылетит

У меня проблема с надежным воспроизведением в тестовой среде. Кто-нибудь может предложить методы для проверки такого рода вещей? Несмотря на то, что я скопировал точный код, использованный в примере jsFiddle, я не могу последовательно воспроизвести проблему локально - это может зависеть от определенного времени, но я не уверен. Я хотел бы добавить что-то в набор автоматизированных тестов, который проверяет эту проблему (исправление jQuery было применено ранее и случайно удалено в более поздней версии).

Как мне проверить браузер на сбой? Сайт написан на Perl, и некоторые автоматизированные тесты выполняются с использованием Selenium и WWW :: Mechanize.

Примечание: Я рассмотрел вопрос об этом на Pro Webmasters , но, прочитав FAQ , я думаю, что он больше подходит для SO.

Ответы [ 3 ]

7 голосов
/ 05 сентября 2011

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

Такова природа так называемых " Мандельбагов ".

1 голос
/ 13 сентября 2011

Учитывая, что единственная непротиворечивая вещь заключается в том, что нет проблем, если вы загружаете JQ до объявления стиля, я бы попытался настроить JQ для загрузки через разные промежутки времени после загрузки объявления CSS / связанного файла CSS.

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

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

Редактировать: Справедливости ради, JQ, вероятно, делает что-то странное в 1.62, или эта ошибка была бы более известна в целом.IE8 вышел несколько лет назад.

0 голосов
/ 09 сентября 2011

Вы можете попробовать провести тестирование с некоторыми из предложений SauceLabs, которые предоставляют возможности кросс-платформенного, кросс-браузерного тестирования.

...