2016-11-16 5 views
1

У меня есть общий вопрос. Я работаю над своей первой программой на JavaScript, и пока я работаю над ними, я испытал некоторые странные проблемы с «сломанным браузером».Как бороться со сломанными браузерами?

В течение недель работы над моей программой я часто тестировал проект в разных браузерах и компьютерных системах. При этом я наблюдал странное поведение в Firefox и Chrome в определенных версиях. В обоих случаях программа отлично работала в обоих браузерах, а затем внезапно я столкнулся с проблемами в Firefox на Windows на одной машине. После некоторых исследований я попытался обновить браузер, и проблема исчезла. Тот же опыт, что и в Chrome на Linux. Это сработало хорошо, а затем у меня были проблемы с Chrome 48. Я протестировал программу на Mac и Windows, все было в порядке. Затем я узнал, что браузеры на этих машинах имеют версию 54. Поэтому я обновил свою машину Linux до самой новой версии, и проблема исчезла.

Мой вопрос: нормально ли, что такие вещи происходят с конкретными версиями браузеров, и если да, то как с этим бороться, если вы работаете над большими проектами?

Редактировать: Из нижеприведенных ответов я вижу, что я не понял свой вопрос. Вопрос не в том, что касается совместимости между браузерами, а не о том, почему программа работает в chrome v47, но не в v48, а затем снова работает в версии v54. То же самое для Firefox и других браузеров.

+0

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

+0

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

ответ

0

Вы должны ознакомиться с совместимостью между браузерами. Каждый браузер может иметь различные реализации определенных функций или даже не иметь. Для старых браузеров, таких как IE8 и менее даже простых window.innerWidth не работает.

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

Вы также можете проверить поддержку вручную сайты, как caniuse.com - работает в основном для стилей CSS, но и JS