意図的にページの読み込みを遅くする方法があるかどうか知りたいのですが。
私はHTMLをテストしています&PHP=ページを今すぐテストしています。ページのロードが遅いときに、gifなどのロードがどのように実行されるかを確認したいと思います。
ほとんどの開発者はpページ読み込みの高速化のみに関心があるため、これはまれな要求であることを理解していますが、javascript/jQueryまたはPHPを使用して、このようなテストを行う方法があると考えました目的。
助けてくれてありがとう!
注:私はMAMPでテストしているので、Mac OS 10.7で実行されているApacheサーバーです
PHPの sleep($seconds)
関数を使用して、ページの読み込みを遅くすることができます。ただし、ページの処理が完了する前にユーザーのブラウザーに何かを送信したい場合は、ob_implicit_flush(true);
を使用して 暗黙的な出力バッファーのフラッシュを「オン」に にする必要があります。それ以外の場合、ロードが完了するまで、ページにはコンテンツがありません。睡眠だけを呼び出してもうまくいきません。
Chromeでは、開発者ツールを使用して低速のインターネット接続をシミュレートできます。右端の「ネットワーク」タブの下。 「Fast G3」のようなプリセットを使用するか、アップロード、ダウンロード、およびpingのために正確な数値を使用して独自のプリセットを作成できます。
リファレンス: https://helpdeskgeek.com/networking/simulate-slow-internet-connection-testing/
Moussa は正しい考えを持っています。遅いページの読み込みをテストする最良の方法は、Chromeの開発者ツールを使用することです。ネットワークタブを選択し、[スロットルなし]と表示されているドロップダウンをクリックします。次に、ページを希望の速度に変更します。
この方法は、コードをいじる必要がないため、sleep関数を使用するよりも優れています。速度を変更したい場合は、スロットルレベルを変更するだけです。
スロットルの詳細については ドキュメントをチェックしてください 。
これは私が試してみるものです:画像のソースとしてphpリソースを使用してください:
<img src="images/gifLoager.php" />
gifLoader.phpで、画像ファイルを読み取り、ループで遅延しながらバイト単位で出力します。
$fp = fopen( $path, 'rb');
while(!feof($fp)) {
print(fread($fp, 1024));
flush();
Sleep(1);
}
fclose($fp);
バイナリデータを出力する前に、ヘッダーを適切に設定することを忘れないでください。
参考文献:
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/
UPDATE 2015-04-09Use Chrome 'Device Mode':このツールには、ネットワークスロットル機能があり、ネットワーク帯域幅が遅いデバイスでページがどのようにレンダリングされるかを確認するには、画面サイズやタッチなどのさまざまなデバイスの機能をエミュレートできる他の多くの機能があります。
sleep() を使用できます:
<?php
// Delays for 10 seconds.
sleep(10);
?>
...
html here
...
sloppy local web proxy を使用して接続を遅くすることができます(Javaであるため、おそらく開発マシンで実行されます。テスト目的でmod_deflateをオフにすることもできます)。したがって、ブラウザが遅いHTMLロードにどのように応答するか(たとえば、動的にサイズ変更されるHTMLテーブルなど)
また、webmasters.stackexchange.comの この質問 も参照してください。
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コード内で sleep()
を呼び出して、サーバーへのリクエストを遅延させます。