我一直在使用 document.getElementById(iframeName).src += '';
重新加载我的 iframe 作为从父页面触发的另一个函数的一部分。我需要重新加载 iframe 页面的唯一原因是我需要重新运行该页面上的 javascript,所以我宁愿从缓存中重新加载 iframe 而不是从服务器重新下载它。不过,我不知道如何从缓存中重新加载 iframe。
此外,如果可能的话,我宁愿这样做而不必在函数中重新输入 iframe src,因为我在多个 iframe 上使用相同的函数。
最佳答案
您可以将相同的 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 等元素。
关于javascript - 从缓存中重新加载 iframe,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26581612/