Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Совместимость со старыми браузерами (https://javascript.ru/forum/misc/81116-sovmestimost-so-starymi-brauzerami.html)

win32s 03.10.2020 03:38

Совместимость со старыми браузерами
 
Посоветуйте , что можно почитать на тему работоспособности новых функций в старых браузерах? К примеру, вот есть async await, как сделать чтобы они поддерживались везде (максимально возможно, конечно IE6 не надо, но восьмой ишак может быть) ? Также чтоб работало на мобильных..

Что можно использовать для таких целей, кроме как взять jQuery?

voraa 03.10.2020 10:29

Есть вот такие таблицы совместимости браузеров

https://kangax.github.io/compat-table/es6/
https://kangax.github.io/compat-table/es2016plus/
https://kangax.github.io/compat-table/esnext/

Но там древнее ИЕ11 ничего нет

Есть кенайюз
Совместимость по CSS, JS, HTML

https://caniuse.com/

Есть mdn
https://developer.mozilla.org/ru/
Таблицы совместимости там не очень точные, но часто приводятся полифилы на то, чего нет в старых браузерах.

voraa 03.10.2020 15:51

Цитата:

Сообщение от Rise
Конвертировать код в старую версию - es5, например, с помощью babel.

Не все возможно.
Надо еще смотреть, что бабел поддерживает.

win32s 08.10.2020 23:54

Не знаю, как грамотно выразиться; в общем, мне нужно чтоб код работал на максимальном к-тве браузеров. Т.е. чтоб не посылать человека "ишак не поддерживается, иди качай хром". Понятно, что без фанатизма с ие6, восьмого вполне хватит. Подойдет тут babel или нет, если вот речь о promise async await?

И как быть с мобильными браузерами? Какие там встречаются древности сейчас, или более менее стандартизовано?

И еще. Насколько возможно в Javascript писать код в старом стиле? Т.е. использовать var вот это все.. Будет ли такой код работать в будущем? Просто если взять язык Си/С++, то там как бы параллельно как пишешь, да есть новые стандарты, но можно писать как в 89 , компилятор соберет. А вот в РНР код 10 летней давности можно удалять, поменяли все очень круто. Интересно, как будет здесь - скажем, у меня есть книжка Флэнагана за 2012 год, и я просто в шоке, как все поменялось "всего то" за какие-то неполные десять лет. Вообще , как будто другой язык.

voraa 09.10.2020 07:39

Цитата:

Сообщение от win32s
Насколько возможно в Javascript писать код в старом стиле? Т.е. использовать var вот это все.. Будет ли такой код работать в будущем?

Обязательно будет. В этом и плюс и минус Javascript, что он обязан поддерживать любой код написанный с 90-х годов.
(Хотя и тут бывают засады, но связанные не с самим языком, а API. Мы из-за этого один хороший проект похоронили - с появлением новых версий браузера все перестало работать и исправить это нам не удалось)
Цитата:

Сообщение от win32s
Понятно, что без фанатизма с ие6, восьмого вполне хватит.

Если честно, когда вы его (ИЕ8) последний раз видели? Ну я по работе обслуживаю пару достаточно нищих бюджетных контор, так везде не ниже Win7. (Им правда в какой то момент приказали перейти на Яндекс браузер - перешли и все нормально)

Цитата:

Сообщение от win32s
Подойдет тут babel или нет, если вот речь о promise async await?

Конкретно promise async await должны по идее. Но в любом случае надо внимательно смотреть документацию на используемые полифилы. Они не всегда работают на 100% так же, как нативные API. Даже у полифила для promise есть тонкие отличия от нативного.

Даже для современных браузеров есть отличия и надо смотреть на документацию (хотя бы приведенные выше ссылки). Хром (Едж, Опера, Яндекс) - одинаковы и впереди планеты всей. Поро Файрфокс и Сафари надо внимательно смотреть и тестировать. Я сталкивался, что про Файрфокс во всех документах написано, что есть и работает API, но в реале работает с такими косяками, что непонятно как этим пользоваться и как обойти их


Часовой пояс GMT +3, время: 10:06.