Вопрос

Когда я пользуюсь Интернетом, я регулярно получаю сообщения об ошибках во время выполнения (обычно в javascript) через всплывающие окна. Это может сделать для действительно неудовлетворительного пользовательского опыта на многих отличных веб-сайтах, а также заставляет меня задуматься, к какой функциональности я не получаю доступ.

Почему это такая распространенная проблема? Это связано с отсутствием тестирования или с проблемами совместимости браузера? Что можно сделать, чтобы минимизировать подобные проблемы?

Кстати, у меня не установлен флажок «Отображать уведомление о каждой ошибке сценария».

Это было полезно?

Решение

Это ряд вопросов.

<Ол>
  • Многие создатели веб-страниц копируют и вставляют код JavaScript из Интернета. Они не программисты и могут не ценить нюансы языка.
  • Отсутствие хороших сред тестирования (по крайней мере, я не знаю). Для Java у нас есть JUNIT, .NET NUNIT и т. Д. В настоящее время сложно автоматизировать тестирование JavaScript.
  • Плохая поддержка IDE. До недавнего времени большинство IDE плохо поддерживали JavaScript. Теперь я вижу больше поддержки, но все еще не ту, которую вы получаете для основных языков.
  • Другие советы

    Я объяснил это отсутствием тестирования.

    В JavaScript легко ошибаться. До недавнего времени с Aptana не было много хороших инструментов для кодирования JavaScript. Не пользуясь преимуществом проверки синтаксиса или компиляции, небольшая ошибка ввода может привести к появлению страниц Кроме того, есть время, когда код, который отлично работает в одном браузере, вызывает ошибку в другом. Например, я видел плагин jQuery, который не работал в IE, но в любом другом браузере он работал нормально. Оказалось, что это переменная, объявленная без ключевого слова var. Firefox и Safari были согласны с этим, IE - нет, поэтому вполне возможно, что тот, кто написал код, даже не знал, что это проблема.

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

    Обычно я тестирую при проектировании с использованием Opera и Firefox, и мой коллега, который использовал Mac, тоже тестировал его в Safari; затем время от времени загружайте Windows Vista (я использую Linux и IE для Linux просто не надежно, чтобы скопировать все странное поведение IE) и тестируем его на IE (обычно 7 и 8 бета). Я бы порекомендовал любому веб-разработчику не проектировать с использованием IE! Сайты с наибольшим количеством ошибок, очевидно, «предназначены для IE». потому что они едва работают в других браузерах и выскакивают больше ошибок. Если вы разрабатываете с использованием стандартов и тестируете с использованием относительно стандартных совместимых браузеров, таких как Opera, Firefox и Safari, а затем добавляете ужасные хаки для IE, предпочтительно используя условные комментарии (несмотря на то, что он нестандартный и проприетарный, к счастью и правильно он воспринят браузерами real как должное, так что вы выиграли ' не нарушайте рабочий код) у вас меньше проблем.

    Еще одна причина ошибок заключается в том, что один из них использует фреймворки, которые предназначены для обхода различий в браузерах и, как побочный эффект, или, возможно, просто из-за ошибки, выводят сообщения об ошибках в некоторых браузерах. У меня, конечно, нет времени на исправление фреймворка только для того, чтобы удалить сообщение об ошибке, и если я не смогу обойти проблему, и она все равно работает, я должен игнорировать сообщения об ошибках, возможно, подать отчет и надеяться, что он будет исправлен в следующая версия (или, что еще лучше, надеюсь, IE внезапно и волшебным образом прекратит свое существование)

    Лицензировано под: CC-BY-SA с атрибуция
    Не связан с StackOverflow
    scroll top