基本上,我希望我的页面(比如page.html)能够检查是否存在更新的page.html版本,如果有,则刷新页面,并在此过程中呈现更新后的版本。
我知道这个过程会在一定时间内自动发生,但是我希望这个过程在30秒到2分钟内发生。
我不确定如何实现这个过程,也许需要一些JavaScript?
我知道这个过程会在一定时间内自动发生,但是我希望这个过程在30秒到2分钟内发生。
我不确定如何实现这个过程,也许需要一些JavaScript?
if(/*newer version exists*/) {
location.reload();
}
我不确定的部分是如何检测是否存在更新版本。
我有一个workaround的想法-编写一个函数,检查是否发送了某种“信号”(我会在修改页面后立即发送它),一旦收到“信号”,刷新页面。
到目前为止,我发现唯一的东西就是meta refresh。我之前没想过使用它-然而,看起来我可能必须使用它。
<META HTTP-EQUIV="refresh" CONTENT="60">
我对 meta refresh 的唯一问题是它每分钟都会刷新,无论页面是否有新版本,这可能会非常烦人 - 特别是因为我在页面上放了图片。
是否有可能针对特定元素进行 meta refresh?(所指的元素是一个经常修改且需要更新的 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>