我有一个页面上有多个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();
对于这个草率的例子,我很抱歉。 :)
答案 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 看看这个,我认为这就是你需要的东西
答案 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();
}
}
感谢所有帮助,希望这也可以帮助别人。!