2013-10-27 56 views
0

我想写一个代码,它将自动刷新iframe窗口如果src='http://www.url.com',否则如果iframe源不同,则不会自动刷新。如何自动刷新iframe如果src = X使用javascript

有没有办法做到这一点?

+2

Java对于JavaScript来说就像火腿是为了仓鼠。 –

+0

那么你知道我的意思吗?它已经改变了。任何想法如何解决这个问题?谢谢! – user2926002

回答

0

如果您发布了一些您试用的代码,那将会很棒。

您需要一个ID设置为您的iframe和使用的getElementById

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

自动刷新预定间隔得到它,你将需要setInterval 要验证您的IFRAME来源是所期望的一个, USAE一个if语句:

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

Here是一个的jsfiddle该自动刷新的IFRAME在各60秒后,如果源是指定

所述一个
+0

感谢您的回复。这是正常运行的,所以如果你设置iframe到你想刷新的页面,它会刷新iframe,即使你导航到另一个页面的权利?如果它是iframe中的页面,我需要刷新它,但如果页面更改为不是该页面,请停止刷新。任何想法如何做到这一点?再次感谢。 – user2926002

+0

60秒自动刷新间隔开始加载当前页面。未调用iframe的onload。每分钟,它都会检查iframe URL以验证它是否是要刷新的预定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.net/qMvzQ/1/中设置了它,但我无法实现它的工作。任何想法有什么不对?谢谢! – user2926002

+0

我在这里修正了它:http://jsfiddle.net/qMvzQ/2/。第一个错误 - 如果你只想刷新一帧,使用** document.getElementById(yourID)**,如果你想刷新所有的文件,使用** document.getElementsByTagName(youtTagName)**。第二个错误 - 如果它的外部网址,你不能使用** contentWindow **,jush ** src **(就像morgul写的...) – inon

+0

谢谢inon。我只需要一个框架。当我导航到该iframe中的另一个页面或域时,它会继续刷新。我怎样才能限制刷新只是在一个页面的网址? – user2926002