darmenfd
@darmenfd
Являюсь веб мастером с 2015 года

Как узнать скорость подключения клиента к сайту и дать соответствующий контент?

Ребята, кто нибудь определял скорость интернета пользователя и в зависимости от быстроты/медленности открывал соответствующий контент. Например: если интернет слабый, то подгружаем сайт без лишних элементов который много весит и жрет мегабайты
  • Вопрос задан
  • 662 просмотра
Пригласить эксперта
Ответы на вопрос 5
@lubezniy
Подход считаю неверным. Канал может быть и шустрым, но с платным и дорогим для пользователя трафиком. Как вариант, дайте пользователю минимальную версию и позвольте ему самому решить, надо ли ему какие-то плюшки в более высоком качестве.
Ответ написан
Комментировать
zoonman
@zoonman
⋆⋆⋆⋆⋆
Идеального пути определения качества соединения нет.
Есть ограниченная поддержка NetworkInformation. Это наилучший подход, но он пока в ранней стадии разработки.

Классический способ определения скорости описан тут.

Разумный вариант - использовать легковесную посадочную страницу и расширенную версию с тяжелым контентом.
Слушать про onload секунду, если за секунду оно не наступает останавливаться на легковесном варианте, в противном случае грузить все остальное.
Вы также можете рассмотреть использование критического пути (минимально необходимого CSS), который включен в тело страницы изначально. Как только страница загружена, можно включать загрузку остального содержимого.
Еще можете замерять время загрузки страницы в браузере используя Navigation Timing API. Если оно больше определенного порога, то загружать тяжелый контент, например видео.

В целом путей решения поставленной задачи немного, но достаточно.
Сфокусируйтесь все же на оптимизации сайта или страницы. Поставьте себе планку, например 200кб и оптимизируйте сайт для нее. От этого выиграют все: и ваши пользователи, и серверная часть тоже.
Ответ написан
Комментировать
alsopub
@alsopub
Как вариант, можно попробовать подключить два скрипта - в начале страницы и в конце страницы (до и после всех скриптов). Записать в переменную время срабатывания первого скрипта и последнего и записать в куки (чтобы кеширование не дало результат "быстрый клиент").
Как второй вариант - выбрать изображение, например логотип, и засекать скриптом время его загрузки. Или тоже картинка, но невидимая, загружаемая после того как легкая версия страницы будет загружена полностью.
Ну или если без всего этого - то можно замерить время между .ready и .load и решить какая скорость у клиента.
Ответ написан
Комментировать
dimonchik2013
@dimonchik2013
non progredi est regredi
задача вообще широкая

с переменным успехом решают ребята типа Akamai
из бюджетно-доступного посмотрите на cloudflare

помимо банального CDN используются различные стили + подгрузка контента в фоне
Ответ написан
Комментировать
sim3x
@sim3x
Нормального способа нет
Более того, можно попасть под определение клоакинга
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы