一个按钮,用于刷新iframe名称上的多个iframe

时间:2013-07-09 15:31:49

标签: button iframe

亲爱的stackoverflow用户,

我有以下代码:

    <button onclick="var ifr=document.getElementsByName('menuframe')[0]; ifr.src=ifr.src;">Refresh Iframes</button>

此代码仅更改第一个iframe。我尝试将[0]改为[1],这让我刷新第二个iframe而不是第一个。

所以我尝试了[0-10]但是没有做任何事情。我也试过[0,1],但这改变了第二个。

我知道这一定是可能的,但是如何。我不知道。任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:0)

我知道这是一个老问题,但我想我会回答一个问题。

首先,我建议在onclick属性中调用一个函数,而不是包含内联javascript。您可以使用以下方法完成此操作:

<button onclick="javascript:refreshIframes('menuFrame');">Refresh Iframes</button>

我在函数中添加了一个变量,允许它可以重用于其他iframe名称。

在您的页面中(大多数人更喜欢将其放在底部,有些人更喜欢将其放在随后引用的外部javascript文件中)您将包含类似于以下内容的函数:

function refreshIframes(frameName) {
    var frames = document.getElementsByName(frameName);
    for (var i = 0; i < frames.length; i++) {
        var frame = frames[i];
        frame.src = frame.src;
    }
}

如果您决定在页面中包含此内容而不是将其放在外部javascript文件中,则需要将其包装在脚本标记中。