2013-10-27 4 views
0

Я пытаюсь написать код, который будет автоматически обновлять окно iframe, если src='http://www.url.com', иначе, если источник iframe отличается от другого, то не автообновление ,Как автоматически обновить iframe, если src = X с помощью javascript

Есть ли способ сделать это?

+2

Java для JavaScript, как ветчина для хомяка. –

+0

Значит, вы знали, что я имел в виду? Он был изменен. Любая идея, как это решить? Благодаря! – user2926002

ответ

0

Было бы здорово, если бы вы разместили код, который вы пытаетесь.

Вам нужно установить идентификатор для вашего вашего фрейма и получить его с помощью getElementById

var myIframe = document.getElementById("myIframe"); 

Для автоматического обновления с заданным интервалом, то вам нужно setInterval Чтобы убедиться, что ваш источник IFrame является искомым, usae если заявление:

setInterval 
(function() 
    { 
    if (myIframe.src == "http://www.url.com") 
     myIframe.src = myIframe.src; 
    }, 60000); 

Here является jsfiddle, что автоматическое обновление в IFRAME на каждые 60 секунд, если источником является один указанный

+0

спасибо за ответ. Это запускается onload, но правильно, поэтому, если вы установите iframe на страницу, которую хотите обновить, она обновит iframe, даже если вы перейдете на другую страницу вправо? Мне нужно его обновить, если это страница в iframe, но тогда, если страница изменится, чтобы не быть этой страницей, прекратите обновлять. Любая идея, как это сделать? Еще раз спасибо. – user2926002

+0

60 секундный интервал автоматического обновления начинается с загрузки текущей страницы. Не вызывается onload iframe. Каждую минуту он проверяет URL-адрес iframe, чтобы проверить, обновляется ли он для заданного URL. Если он изменен, он больше не обновится. – morgul

0

Попробуйте это:

window.setInterval(function() { 
    var els = document.getElementsByTagName("IFRAME"); 
    for(var i=0;i<els.length;++i) { 
     if(els[i].src=="http://www.url.com/") { 
      els[i].contentWindow.document.location.href = els[i].contentWindow.document.location.href; 
     } 
    } 
},1000); 

1000 Среднее-х - каждую секунду.

Удачи вам!

+0

Большое спасибо за ответ. Извините, я полный Ньюб. Я установил его в jsfiddle http://jsfiddle.net/qMvzQ/1/, но я не могу заставить его работать. Любая идея, что не так? Благодаря! – user2926002

+0

Я исправил его здесь: http://jsfiddle.net/qMvzQ/2/. первая ошибка - если вы хотите обновить только один фрейм, используйте ** document.getElementById (yourID) **, если вы хотите обновить все franme, используйте ** document.getElementsByTagName (youtTagName) **. вторая ошибка - если это внешний url, вы не можете использовать ** contentWindow **, jush ** src ** (например, morgul написал ...) – inon

+0

Спасибо. Мне нужен только один кадр. Когда я перехожу на другую страницу или домен в этом iframe, он продолжает обновляться. Как я могу ограничить обновление только одним URL-адресом? – user2926002

Смежные вопросы