Iframe мне нужно обновлять каждые 30 секунд (но не всю страницу)

У меня есть этот кусок кода

<iframe marginwidth="0" marginheight="0" width="240" height="80" scrolling="no" frameborder=0 src="irc_online.php">
</iframe>

Я добавляю это в виджет html, который у меня есть на боковой панели, есть ли способ сделать это обновление каждые 30 секунд, а не остальную часть моей страницы?

много Спасибо

5 ответов


Вы можете поместить тег meta refresh в irc_online.в PHP

<meta http-equiv="refresh" content="30">

или вы можете использовать Javascript с setInterval для обновления src источника...

<script>
window.setInterval("reloadIFrame();", 30000);

function reloadIFrame() {
 document.frames["frameNameHere"].location.reload();
}
</script>

предположим, что ваш iframe id= myIframe

вот код:

<script>
window.setInterval("reloadIFrame();", 30000);
function reloadIFrame() {
 document.getElementById("myIframe").src="YOUR_PAGE_URL_HERE";
}
</script>

ОК... поэтому я знаю, что отвечаю на десятилетний вопрос, но хотел что-то добавить! Я хотел добавить календарь google со специальными параметрами iframe. Проблема в том, что календарь без него не работал. 30 секунд немного короче для моего использования, поэтому я изменил это в своем собственном файле на 15 минут Это сработало для меня.

<script>
window.setInterval("reloadIFrame();", 30000);
function reloadIFrame() {
 document.getElementById("calendar").src=calendar.src;
}
</script>

    <iframe id="calendar" src="[URL]" style="border-width:0" width=100% height=100% frameborder="0" scrolling="no"></iframe>

У меня есть более простое решение. На странице назначения (irc_online.php)добавьте тег автоматического обновления в заголовок.


добавьте "id= 'myiframe' " в iframe, затем используйте этот скрипт:

<script>

function f1()
{
 var x=document.getElementById("myiframe");
   x.src=x.src+Math.floor(random()%100000);
}

setInterval(f1,30*1000);

</script>