Deutsch
Germany.ruФорумы → Архив Досок→ Программирование

Как вы боретесь с несовместимость браузеров?

26.07.21 02:25
Re: Как вы боретесь с несовместимость браузеров?
 
alex445 местный житель
в ответ AlexNek 25.07.21 16:28, Последний раз изменено 26.07.21 03:02 (alex445)

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


Странно, что в Edge и Chrome по-разному отображается - они же на одном движке.


По-разному может быть, если используются, например, дефолтные стили - они в разных браузерах могут быть разными. Вообще, стремление к тому, чтобы во всех браузерах выглядело абсолютно одинаково - бесполезное. Это во флеше или другом плагинном фреймворке с собственным движком рендеринга можно было подобного добиться, а в нынешнем вебе - нет. Браузеры - это платформы, которые хоть и придерживаются определённых стандартов, но всё же отличаются. Требование к одинаковости отображения в разных браузерах сродни требованию, чтобы все браузеры стали одним.


Есть разные статьи по обеспечению совместимости и всякие валидаторы вашей разметки

7 Common Cross Browser Compatibility Issues to Avoid | BrowserStack

10 ways to avoid cross browser compatibility issues (lambdatest.com)


Объём работ большой, а толку - всё равно не добьёшься желаемого. А если добьёшься, то стоит смениться версии браузера - и может снова всё слететь. Нужно просто смириться с некоторыми несовместимостями. А ещё бывает, что попросту делают лишь под самый распространённый вариант (Хромиум, например), и отказываются от поддержки всего остального.


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

 

Перейти на