IFRAME Reload按钮(Iframe reload button)

2019-07-30 04:44发布

我看过很多网站,但他们都不工作的权利或我不理解他们。 我想一个简单的按钮,刷新了一定的iframe。 该按钮将父页面上的iframe的名字是“右”。

Answer 1:

有很多方法可以做到这一点。 假设这iframe标记:

<iframe name="Right" src="http://www.example.com"></iframe>

我们可以用一个做到这一点的函数调用 :

HTML

<button onclick="refreshIframe();">Refresh Iframe</button>

JS

function refreshIframe() {
    var ifr = document.getElementsByName('Right')[0];
    ifr.src = ifr.src;
}

或与内联JS :

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

或使用事件侦听器 :

HTML

<button id="iframeRefresher">Refresh Iframe</button>

JS

window.onload = function() {
    document.getElementById('iframeRefresher').addEventListener('click', function() {
        var ifr = document.getElementsByName('Right')[0];
        ifr.src = ifr.src;
    });
}

与上面相同,现在有用于IE支持<= 8,并使用在全球范围内为处理器的功能 ,而不是一个匿名之一:

HTML

<button id="iframeRefresher">Refresh Iframe</button>

JS

window.onload = function() {
    var refresherButton = document.getElementById('iframeRefresher');
    if (refresherButton.addEventListener)
        refresherButton.addEventListener('click', refreshIframe, false);
    else
        refresherButton.attachEvent('click', refreshIframe);
}

function refreshIframe() {
    var ifr = document.getElementsByName('Right')[0];
    ifr.src = ifr.src;
}

所有这一切,甚至没有接触的jQuery或任何其他库。

其中哪些你应该使用? 无论你考虑更多的维护和可读性。 只要避免全局变量只要有可能。 我个人避免内联JS与标记,听众似乎是不必要的,但是这只是我。 选什么更好的适合你。



Answer 2:

添加新的id在你的iframe和尝试下面的代码。

var iframe = document.getElementById('FrameId');
$("button").click(function() {
    iframe.src = iframe.src;
}):


文章来源: Iframe reload button