根据一个按钮的变量“id”刷新多个iframe

时间:2011-04-28 22:10:42

标签: php javascript iframe refresh

我有一个页面上有多个iframe的php页面。

如果愿意,这些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();

对于这个草率的例子,我很抱歉。 :)

5 个答案:

答案 0 :(得分:3)

只需指定不同的ID并调用

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

多次,每次为每个iFrame重新加载一次。

答案 1 :(得分:2)

你有两个选择,要么根据需要迭代所有id重新加载......

或者,如果您要重新加载所有框架,则可以使用此选项:

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

答案 2 :(得分: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' );

答案 3 :(得分:0)

这不是php,你只需要javascript 看看这个,我认为这就是你需要的东西

How to refresh 2 iframes with one link/button using html/js

答案 4 :(得分:0)

这是我最终使用它的效果很棒!我按如下方式制作了iframe:

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

然后我就可以使用下面的代码来获取所有具有相同名称的iframe,并循环刷新每个iframe。

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();    
}
}

感谢所有帮助,希望这也可以帮助别人。!