次の foreach ループがあります。
<?php
ob_start();
foreach ($streams as &$stream) {
$array = stream($stream);
?>
<a href="livestreams.php?stream=<?=$stream;?>">
<div class="channel-preview" style="background-image:url(<?=$array[2];?>);">
<div class="container">
<hgroup>
<h1><?=$array[4];?></h1>
<h2><?=$array[3];?></h2>
</hgroup>
<div class="meta">
<span class="live-viewers">Live Viewers:</strong> <?=$array[1];?></span>
</div>
<span class="game-badge starcraft-2" title="Starcraft 2"><span class="hide">Starcraft 2</span></span>
</div>
</div>
</a>
<?php
ob_flush();
flush();
}
ob_end_flush();
?>
これはスクリプト全体の一部にすぎないことに注意してください。問題は、読み込みがかなり遅いことです。ob_flush(); を使用しようとしました。ご覧のとおり高速化していますが、大きな違いはありません。
私の問題は、ページ全体の読み込み時間です。ページがブラウザに表示されるまでにも時間がかかります。ページが既にレンダリングされている間に、AJAX を使用してループをロードすることは可能でしょうか? それとも他の方法はありますか?
編集:
ループしている は外部サーバーから受信されますが、それが遅延の原因である可能性が最も高いです。これは先に述べておくべきでした。