基于变量“id”刷新多个iframe一键操作

发布于 2024-11-03 19:39:59 字数 505 浏览 2 评论 0原文

我有一个 php 页面,页面上有多个 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();

抱歉举了个草率的例子,我已经醒了太久了。 :)

I have a php page that has multiple iframes on the page.

these iframes contain a button if you will. When someone clicks on the "button" im firing javascript to refresh another frame on the page with id=xxx this works fine. the problem is i want to be able to refresh multiple frames on the page they all cant have the same ID value so How could this be done.

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

This works on a single iframe (i know you cant have multiple ids the same on one document.) The idea is want to do something like this.

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

Sorry for the sloppy example, ive been awake far to long. :)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

黒涩兲箜 2024-11-10 19:39:59

只需分配不同的 id 并

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

多次调用,每次为每个要重新加载的 iFrame 调用一次。

Just assign different ids and call

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

multiple times, once each for every iFrame you want to reload.

逆光下的微笑 2024-11-10 19:39:59

您有两种选择,要么根据需要迭代所有重新加载的 id...

或者如果您要重新加载 ALL 帧,则可以使用以下命令:

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

You have two choices, either iterate over all the id's reloading each as needed...

Or if you are reloading ALL frames, you can use this:

for(var i=0;i<window.frames.length;i++){
  window.frames[i].location.reload();
}
2024-11-10 19:39:59
/* 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' );
/* 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' );
野生奥特曼 2024-11-10 19:39:59

这就是我最终使用的效果非常好!我制作了 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();    
}
}

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

This is what I ended up using at it works great! I made the iframe as follows:

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

Then I was able to use the below code to get all the iframes that had the same name and loop through them refreshing each.

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

Thanks for all the help hope this can help someone as well.!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文