我看过很多网站,但他们都不工作的权利或我不理解他们。 我想一个简单的按钮,刷新了一定的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