Посмотрим ...
Когда клиент запрашивает страницу # 1, сохраните метку времени в сеансе. Добавьте немного JavaScript на страницу # 1, чтобы клиент начал загружать большой файл (скажем, 5 МБ), как только страница будет загружена, а затем запросит страницу № 2, как только загрузка будет завершена. Это должен быть весь AJAX, чтобы все происходило в фоновом режиме.
Теперь на странице # 2 сравнивается текущая временная метка с исходной временной меткой, сохраненной в сеансе. Разница примерно скажет вам, сколько времени потребовалось клиенту для загрузки большого файла. Если вы удовлетворены скоростью, вы снова отправляете больше элементов страницы через AJAX.
Но это плохая идея.
Этот метод требует не только передачи ненужного файла (который может стоить дополнительных денег для мобильных клиентов), но и крайне ненадежный. Задержка (например, «пинг») между клиентом и сервером, загрузка ЦП на стороне клиента, перегрузка в сети и множество других факторов будут влиять на время загрузки. Вы также можете просто отправить реальный контент за время, необходимое для запуска теста скорости.
В заключение, нет способа сделать это. Просто создайте версию страницы разумного размера и загружайте большие элементы (например, видео) только после того, как клиент что-то нажмет. Если кто-то все еще набирает номер, надеюсь, он будет знать, что не нужно нажимать на видео.