Я хочу, чтобы видео автоматически воспроизводилось на веб-сайте, только если пользователь подключен к Wi-Fi. Я знаю про navigator.connection api - но он недоступен в сафари, да к тому же говорит только о скорости соединения, а не о типе.
Есть ли способ определить, использует ли пользователь Wi-Fi или сотовые данные с помощью javascript?
comment
Аналогичный вопрос был задан здесь: stackoverflow.com/questions/25968020/ Надеюсь, это полезно!
- person ShanaSkydancer   schedule 24.02.2018
Ответы (1)
По состоянию на декабрь 2020 года Safari не предпринял никаких шагов для внедрения API сетевой информации, который, как вы Как мы уже отмечали, предоставляет объект navigator.connection
NetworkInformation
. Это позор, потому что другие браузеры поставляли это годами.
Это означает, что в мобильном Safari (или настольном Safari, если уж на то пошло) нет эквивалента iOS-интерфейсов Reachability API, поэтому лучшее, что вы можете сделать, это предложить нам очень грубый хак, например:
- поиск общедоступного IP-адреса пользователя и попытка сопоставить его с базой данных сотовых операторов или
- сделать тестовую загрузку, чтобы примерно оценить скорость соединения.
Для полноты картины согласно MDN , по состоянию на декабрь 2020 г. браузеры, действующие, предоставляют navigator.connection
:
- Desktop:
- Chrome 61+
- Край 79+
- Firefox, но только если пользователь включил настройку
dom.netinfo.enabled
- Опера
- Mobile:
- Android WebView 50+
- Хром Android 38+
- Firefox Android 14+ (то же предостережение, что и для рабочего стола)
- Опера Андроид 37+
- Самсунг Интернет 3+
(Safari и Internet Explorer — единственные крупные браузеры, в которых явно отсутствует поддержка.)
person
s3cur3
schedule
21.12.2020