Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 03.10.2020, 03:38
Аспирант
Отправить личное сообщение для win32s Посмотреть профиль Найти все сообщения от win32s
 
Регистрация: 28.09.2019
Сообщений: 38

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

Что можно использовать для таких целей, кроме как взять jQuery?
Ответить с цитированием
  #2 (permalink)  
Старый 03.10.2020, 10:29
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,707

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

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 в 10:34.
Ответить с цитированием
  #3 (permalink)  
Старый 03.10.2020, 12:11
Профессор
Отправить личное сообщение для Rise Посмотреть профиль Найти все сообщения от Rise
 
Регистрация: 07.11.2013
Сообщений: 4,662

Сообщение от voraa
Но там древнее ИЕ11 ничего нет
На самом деле есть. Там просто надо выбрать версию ECMAScript пониже и поставить галочку "Show obsolete platforms". Потому что если совсем ничего не поддерживается, то версия браузера не включается в соответствующую таблицу вовсе. Например, в "es5" есть IE8-11, в "es6" есть IE10-11, в "2016+" только IE11, а в "next" уже нет IE совсем.

Сообщение от win32s
как сделать чтобы они поддерживались везде
Конвертировать код в старую версию - es5, например, с помощью babel.

Последний раз редактировалось Rise, 03.10.2020 в 12:18.
Ответить с цитированием
  #4 (permalink)  
Старый 03.10.2020, 15:51
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,707

Сообщение от Rise
Конвертировать код в старую версию - es5, например, с помощью babel.
Не все возможно.
Надо еще смотреть, что бабел поддерживает.
Ответить с цитированием
  #5 (permalink)  
Старый 08.10.2020, 23:54
Аспирант
Отправить личное сообщение для win32s Посмотреть профиль Найти все сообщения от win32s
 
Регистрация: 28.09.2019
Сообщений: 38

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

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

И еще. Насколько возможно в Javascript писать код в старом стиле? Т.е. использовать var вот это все.. Будет ли такой код работать в будущем? Просто если взять язык Си/С++, то там как бы параллельно как пишешь, да есть новые стандарты, но можно писать как в 89 , компилятор соберет. А вот в РНР код 10 летней давности можно удалять, поменяли все очень круто. Интересно, как будет здесь - скажем, у меня есть книжка Флэнагана за 2012 год, и я просто в шоке, как все поменялось "всего то" за какие-то неполные десять лет. Вообще , как будто другой язык.
Ответить с цитированием
  #6 (permalink)  
Старый 09.10.2020, 07:39
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,707

Сообщение от win32s
Насколько возможно в Javascript писать код в старом стиле? Т.е. использовать var вот это все.. Будет ли такой код работать в будущем?
Обязательно будет. В этом и плюс и минус Javascript, что он обязан поддерживать любой код написанный с 90-х годов.
(Хотя и тут бывают засады, но связанные не с самим языком, а API. Мы из-за этого один хороший проект похоронили - с появлением новых версий браузера все перестало работать и исправить это нам не удалось)
Сообщение от win32s
Понятно, что без фанатизма с ие6, восьмого вполне хватит.
Если честно, когда вы его (ИЕ8) последний раз видели? Ну я по работе обслуживаю пару достаточно нищих бюджетных контор, так везде не ниже Win7. (Им правда в какой то момент приказали перейти на Яндекс браузер - перешли и все нормально)

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

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



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
angular совместимость с браузерами tai Angular.js 1 11.02.2016 23:45
Совместимость синтаксиса JavaScript в XML/HTML jsjob Javascript под браузер 12 16.01.2013 03:47
ietester. его работа зависимо на совместимость между версях ? dadli Internet Explorer 1 25.06.2012 23:21
Проблема с браузерами webkit gibigate jQuery 1 29.04.2011 02:27
Работа jquery с браузерами ОС symbian 9 Uljan jQuery 2 21.07.2010 18:14