我正在嘗試創建一個twitch.tv流的列表,每隔60秒提取一次在線/離線狀態並返回基於該響應的圖像。我用來提取這些信息並返回圖像的php代碼如下:使用jQuery刷新動態圖像
<?php
header('content-type: image/png');
$stream = $_GET['stream'];
$json_file = @file_get_contents("http://api.justin.tv/api/stream/list.json?channel={$stream}");
$json_array = json_decode($json_file, true);
if (strtolower($json_array[0]['name']) == strtolower("live_user_{$stream}")) {
echo file_get_contents("online.png");
}else{
echo file_get_contents("offline.png");
}
?>
這部分工作正常。我打電話給這樣的代碼(image.php),如下所示:
<img src="image.php?stream=nameofstreamgoeshere" />
而且它都可以工作,但它不是實時的。我已經嘗試了幾件事情來使它更新和解決jQuery可能是最好的選擇。我認爲我需要做的是發送頭信息的某種組合,這些信息會迫使瀏覽器不要緩存圖像,並且可能會將其放入jQuery每隔60秒刷新一次的div,但這是我碰到磚牆的地方。有關如何做到這一點的任何建議?我相對較新的jQuery,並且在這裏摸索一點,所以任何幫助將非常感激。
我發現的避免緩存圖像的很多潛在解決方案包括將圖像網址附加到日期或時間之類的東西,但由於這已經是一個動態圖像網址,我不確定如何使其工作。
在此先感謝您的幫助。
您是否從justin.tv服務獲得了正確的回覆?那麼,這是你的文件被緩存? – Leite
是的!我從justin.tv獲得了很好的迴應 - 他們允許每60秒提取一次狀態信息。我相信這是我正在緩存的online.png或offline.png文件。 – billhinz