【发布时间】:2016-10-02 18:18:12
【问题描述】:
基本上,我希望我的页面(例如 page.html)检查是否存在更新版本的 page.html,如果存在,请刷新页面,并在这样做时调出更新版本。
我意识到这会在一段时间后自动发生 - 但是,我希望这在 30 秒到 2 分钟的时间内发生。
我不确定这将如何实现 - 也许是一些 Javascript?
if(/*newer version exists*/) {
location.reload();
}
我不确定的部分是如何检测是否存在较新的版本。
我有一个解决方法的想法- 具有检查是否已发送某种“信号”的功能(我会在修改页面后立即发送),一旦收到“信号”,刷新页面。
到目前为止,我发现的唯一内容是元刷新。 我以前没想过使用它-但是,看起来我可能不得不使用它。
<META HTTP-EQUIV="refresh" CONTENT="60">
我对元刷新的唯一问题是,无论我是否有新版本的页面,它都会每分钟刷新一次,这会很烦人 - 特别是因为我在页面上有图像。
是否可以专门针对元素进行元刷新? (被引用的元素是一个我经常修改的 Javascript 片段,它需要是最新的)
更新 1 部分脚本:按下按钮时重新加载 main.js。通过一些调整,我可以每分钟左右重新加载脚本。
沙盒
<button id="refreshButton" onclick="loadScript('/main.js')">
Refresh script
</button>
<script>
function loadScript(location) {
var js = document.getElementById("sandboxScript");
if(js !== null) {
document.body.removeChild(js);
console.info("---------- Script refreshed ----------");
}
// Create new script element and load a script into it
js = document.createElement("script");
js.src = location;
js.id = "sandboxScript";
document.body.appendChild(js);
}
</script>
【问题讨论】:
-
因此对页面进行 Ajax 调用并检查页面的该部分是否不同。如果是换掉。
标签: javascript html refresh reload partial-page-refresh