Iframe мне нужно обновлять каждые 30 секунд (но не всю страницу) - PullRequest
15 голосов
/ 28 февраля 2011

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

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

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

Большое спасибо

Ответы [ 5 ]

35 голосов
/ 28 февраля 2011

Вы можете поместить мета-тег обновления в irc_online.php

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

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

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

function reloadIFrame() {
 document.frames["frameNameHere"].location.reload();
}
</script>
10 голосов
/ 16 сентября 2014

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

вот код:

<script>
window.setInterval("reloadIFrame();", 30000);
function reloadIFrame() {
 document.getElementById("myIframe").src="YOUR_PAGE_URL_HERE";
}
</script>
1 голос
/ 06 марта 2018

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

1 голос
/ 14 ноября 2014

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

0 голосов
/ 28 февраля 2011

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

<script>

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

setInterval(f1,30*1000);

</script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...