我一直在使用document.getElementById(iframeName).src += '';
重新加载我的iframe作为从父页面触发的另一个函数的一部分。我需要重新加载iframe页面的唯一原因是我需要重新运行该页面上的javascript,所以我宁愿从缓存重新加载iframe而不是从服务器重新加载它。我无法弄清楚如何从缓存中重新加载iframe。
另外,如果可能的话,我宁愿在函数中重新输入iframe src,因为我在多个iframe上使用相同的函数。
答案 0 :(得分:3)
您可以为自己重新分配相同的src
。那就行了。见下文:
# frame.html
//your data
<script> alert("yo!"); </script>
# yourPage.html
<iframe src="frame.html" id="myFrame"></iframe>
<button id="btn">Reload Iframe</button>
# your javascript for yourPage.html
var btn = document.getElementById("btn");
var frame = document.getElementById("myFrame");
var reloadFrame = function () {
frame.src = frame.src;
}
btn.addEventListener("click", reloadFrame);
这应该可以解决问题。每当重新分配给src
或href
属性时,浏览器都会重新加载图片,iframe等元素。