Как перезагрузить IFrame каждые х секунд? - PullRequest
1 голос
/ 10 декабря 2010

Интересно, как я могу перезагружать iframe каждые x секунд, лучше всего без использования JavaScript

Спасибо.

1 Ответ

13 голосов
/ 10 декабря 2010

С заголовком HTTP Refresh: x или с элементом HTML в документе, загруженном в iframe:

<meta http-equiv="refresh" content="x" />

Этот элемент должен находиться внутри элемента <head/> документа.

Если у вас нет контроля над документом, загруженным во фрейм, или сервером, с которого он подается, у вас есть два варианта:

  1. JavaScript.
  2. Напишите еще одну HTML-страницу с указанным выше элементом <meta/> и добавьте на эту страницу iframe, ориентированный на другую страницу. Таким образом, у вас будет iframe внутри iframe: внешний документ -> iframe (внутренний документ с мета-обновлением) -> iframe (исходная цель iframe)

РЕДАКТИРОВАТЬ: Что касается варианта № 2, вот достойный универсальный iframe в PHP, который дает некоторую гибкость в плане времени обновления и стиля. Просто назовите это что-то вроде:

http://www.mydomain.com/genericIframe.php?url=http://my.domain.com/mypage.htm&refreshTime=60&style=putYourStyleAttribHere

Вот PHP / HTML:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>Generic Iframe</title>
    <meta http-equiv="refresh" content="<?php print $_REQUEST['refreshTime']; ?>" />
</head>
<body>
    <iframe src="<?php print $_REQUEST['url']; ?>" style="<?php print $_REQUEST['style']; ?>"></iframe>
</body>
</html>
...