Подтвердить что ты не робот

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

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

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

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

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

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

4b9b3361

Ответ 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