1

亲爱的 stackoverflow 用户,

我有以下代码:

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

并且此代码仅更改第一个 iframe。我尝试将 [0] 更改为 [1],这让我可以刷新第二个 iframe,但不能刷新第一个。

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

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

4

1 回答 1

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 文件中,则需要将其包装在脚本标签中。

于 2014-11-17T22:53:55.387 回答