Умышленно медленная загрузка страницы HTML/PHP для тестирования
Мне любопытно, существует ли способ преднамеренно замедлить загрузку страницы?
Я тестирую свои страницы HTML и PHP на своем локальном хосте прямо сейчас, и я хочу посмотреть, как моя загрузка gif и т.д. будет выполняться, когда загрузка страницы будет медленнее.
Я понимаю, что это редкий запрос, поскольку большинство разработчиков только обеспокоены ускорением загрузки страниц, но я думал, что может быть метод, используя либо javascript/jQuery, либо PHP, чтобы сделать что-то подобное для целей тестирования.
Спасибо за любую помощь!
Примечание. Я тестирую MAMP, так что сервер Apache, работающий на Mac OS 10.7
Ответы
Ответ 1
Вы можете использовать функцию php sleep($seconds)
, чтобы замедлить загрузку страницы. Тем не менее, вам нужно будет неявный вывод буфера сбросить до "on" с помощью ob_implicit_flush(true);
, если вы хотите, чтобы что-либо было отправлено в браузер пользователя до страница обрабатывается. В противном случае ваша страница не будет иметь никакого содержимого до ее загрузки. Вызов сна один не будет делать трюк.
Ответ 2
Попробуйте Deelay.me:
<img src="http://deelay.me/1000/http://examplesite.com/image.gif">
Deelay.me - прокси-сервер задержки для веб-ресурсов. Вы можете использовать его со своими изображениями/таблицами стилей/сценариев, чтобы включить их время загрузки.
Ответ 3
Вот что я хотел бы попробовать:
Используйте источник 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://stackoverflow.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
Ответ 4
Moussa имеет правильную идею. Лучший способ проверить медленную загрузку страницы - использовать инструменты разработчика Chrome. Выберите вкладку сети, а затем щелкните раскрывающееся меню, в котором указано "Без дросселирования". Затем измените страницу на желаемую скорость.
Этот способ превосходит использование функции сна, потому что вам не нужно возиться с каким-либо кодом, а затем забыть его вынуть. Если вы хотите изменить скорость, просто измените уровень дросселирования и вы установите.
Для получения дополнительной информации о дросселировании проверить документы.
Ответ 5
Вы можете использовать sleep():
<?php
// Delays for 10 seconds.
sleep(10);
?>
...
html here
...
Ответ 6
Немного 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
Ответ 7
Вызов sleep()
в вашем PHP-коде для задержки запроса на сервер.
Ответ 8
вы можете использовать неаккуратный локальный веб-прокси, чтобы замедлить ваше соединение (это в JAVA, поэтому оно, вероятно, будет работать на вашей машине разработки Вы также можете отключить mod_deflate для целей тестирования, если хотите, чтобы ваш браузер реагировал на медленную загрузку HTML (например, таблицы HTML с динамическим размером и т.д.).
Также см. этот вопрос на webmasters.stackexchange.com