2011-04-28 57 views
4

我有一個頁面上有多個iframe的php頁面。基於一個按鈕的變量「ID」刷新多個iframe

如果您願意,這些iframe包含一個按鈕。當有人點擊「按鈕」即時消息JavaScript的刷新頁面上id = xxx的另一幀,這工作正常。問題是我想能夠刷新頁面上的多個幀,他們都不能具有相同的ID值,所以如何做到這一點。

<iframe id="12345"></iframe> 
<iframe id="12345"></iframe> 
<iframe id="12345"></iframe> 

這對一個iframe(我知道你不能在一個文件上有多個ID相同)。這個想法是想做這樣的事情。

parent.document.getElementById('12345').contentWindow.location.reload(); 

對不起這個馬虎的例子,我已經清醒了很久。 :)

回答

0

這就是我最終使用它的原理!我做的iframe如下:

<iframe name="ifwXXXX"></iframe> 

然後我可以使用下面的代碼來獲取所有具有相同的名稱和循環通過他們刷新每個I幀。

function refreshwant(ifid,lid){ 
    parent.document.getElementById('pfid'+lid+'').contentWindow.location.reload(); 
    var x = parent.document.getElementsByName('ifw'+ifid+''); 
for(var i = 0; i < x.length; i++) 
{ 
    x[i].contentWindow.location.reload();  
} 
} 

感謝所有的幫助,希望這可以幫助別人。

3

剛分配不同的ID,並呼籲

parent.document.getElementById(customId).contentWindow.location.reload(); 

多次,每個iFrame需要重新加載一次。

1
/* include in parent */ 
function reloadIframes() { 
    var i = argument.length; 
    while (i--) { 
     document.getElementById(arguments[i]).contentWindow.location.reload() 
    } 
} 
/* In an iframe (probably in the onclick of your button) */ 
parent.reloadIframes('id1', 'id2'); 
2

你有兩個選擇,要麼遍歷所有的ID的重裝每個需要...

或者,如果你重裝ALL框,您可以使用此:

for(var i=0;i<window.frames.length;i++){ 
    window.frames[i].location.reload(); 
}