Умышленное замедление загрузки страницы HTML/PHP для тестирования

Мне любопытно, существует ли способ намеренно замедлить загрузку страницы?

Я сейчас тестирую свои HTML и PHP-страницы на своем локальном хосте и хочу посмотреть, как будет работать мой gif и т. Д., Когда загрузка страницы будет медленнее.

Я понимаю, что это редкий запрос, так как большинство разработчиков озабочены только ускорением загрузки страниц, но я подумал, что может быть метод, использующий либо javascript/jQuery, либо PHP, чтобы сделать что-то подобное для тестирования.

Спасибо за любую помощь!

Примечание: я тестирую на MAMP, так что это сервер Apache, работающий на Mac OS 10.7

8 ответов

Решение

Вы можете использовать PHP sleep($seconds) Функция для замедления загрузки страницы. Тем не менее, вам нужно включить неявную очистку буфера вывода с помощью ob_implicit_flush(true); если вы хотите, чтобы что-либо было отправлено в браузер пользователя до завершения обработки страницы. В противном случае на вашей странице не будет НИКАКОГО содержимого, пока она не загрузится. Один только сон не поможет.

Попробуйте http://deelay.me/:

<img src="http://deelay.me/1000/http://examplesite.com/image.gif">

http://deelay.me/ - задержка прокси для веб-ресурсов. Вы можете использовать его со своими изображениями / таблицами стилей / скриптами, чтобы увеличить время их загрузки.

В Chrome вы можете моделировать медленное интернет-соединение с помощью инструментов разработчика. под вкладкой "Сеть" в крайнем правом углу. Вы можете использовать предустановку, например "Fast G3", или создать свою собственную с точными номерами для загрузки, загрузки и проверки связи.

Ссылка: https://helpdeskgeek.com/networking/simulate-slow-internet-connection-testing/

xtrem имеет правильную идею. Лучший способ проверить медленную загрузку страницы - использовать инструменты разработчика Chrome. Выберите вкладку сети, а затем щелкните раскрывающийся список с надписью "Нет регулирования". Затем измените страницу на желаемую скорость.

Этот способ лучше, чем использование функции сна, потому что вам не нужно связываться с каким-либо кодом, а затем не забывайте его убирать. Если вы хотите изменить скорость, просто измените уровень регулирования, и все готово.

Для получения дополнительной информации о регулировании проверить документы.

Вот что я хотел бы попробовать: использовать ресурс php в качестве источника изображения:

<img src="images/gifLoager.php" />

в gifLoader.php прочитайте ваш файл изображения, выведите его побайтно с задержкой в ​​цикле.

$fp = fopen( $path, 'rb');
while(!feof($fp)) {
        print(fread($fp, 1024));
        flush();
        Sleep(1);
     }
fclose($fp);

Не забудьте правильно установить заголовки перед выводом двоичных данных.

Referrences:

http://stackru.com/questions/1563069/stream-binary-file-from-mysql-to-download-with-php
http://php.net/manual/en/function.sleep.php
http://www.gamedev.net/topic/427622-php-and-file-streaming-script-with-resume-capability/

ОБНОВЛЕНИЕ 2015-04-09 Использование Chrome "Режим устройства": этот инструмент имеет функцию регулирования сети, которая позволяет увидеть, как ваша страница может отображаться на устройстве с медленной пропускной способностью сети. Он имеет много других функций, которые позволяют вам эмулировать функции на различных устройствах, такие как размер экрана и сенсорный экран.

https://developer.chrome.com/devtools/docs/device-mode

Немного JS setTimeout может сделать свое дело

setTimeout(function()
{
    // Delayed code in here
    alert('You waited 5 seconds to see me'); // Waits 5 seconds, then alerts this
}, 5000); // 5000 = 5 seconds

Вы можете использовать сон ():


<?php
// Delays for 10 seconds.
sleep(10);
?>

...
html here
...

Вызов sleep() в вашем коде PHP, чтобы задержать запрос к серверу.

Вы можете использовать неаккуратный локальный веб-прокси, чтобы замедлить ваше соединение (оно в JAVA, так что оно, вероятно, будет работать на вашем компьютере devel. Вы также можете отключить mod_deflate для целей тестирования, если вы хотите, чтобы ваш браузер реагировал на медленный Загрузка HTML (например, динамические таблицы HTML и т. Д.)

Также смотрите этот вопрос на webmasters.stackexchange.com

Другие вопросы по тегам