Я пытаюсь создать список потоков 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, вероятно, лучший вариант. Я думаю, что мне нужно сделать некоторую комбинацию отправки информации заголовка, которая заставляет браузеры не кэшировать изображение и, возможно, поместить его в div, который jQuery обновляется каждые 60 секунд, но именно здесь я ударил по кирпичным стенам. Любые предложения о том, как это сделать? Я относительно новичок в jQuery и здесь немного пошатываюсь, поэтому любая помощь будет высоко оценена.
Многие потенциальные решения, которые я нашел для избежания кэшированных изображений, включают добавление вещей к URL-адресу изображения, например, дату или время, но поскольку это уже динамический URL-адрес изображения, я не уверен, как сделать эту работу ,
Заранее благодарим за любую помощь.
Получите правильный ответ от службы justin.tv? Итак, это ваш файл, который кэшируется? – Leite
да! Я получаю хороший ответ от justin.tv - они позволяют получать информацию о состоянии каждые 60 секунд. Я считаю, что это файлы my.png или offline.png, которые кэшируются. – billhinz