[英]How to reload the page one time using javaScript
我想在加载所有代码后不使用按钮就重新加载页面。
我用过: location.reload();
问题是它一直重复地重新加载我的页面。
每次重新加载页面时,您的window.reload()
都会被命中。 做这样的事情:
if(window.location.href.indexOf('?reloaded') === -1) window.location.href = window.location.href + "?reloaded=true";
假设页面未使用其他任何url参数。
编辑
正如Matt Ball所指出的那样,使用localStorage或cookie并不仅限于单个选项卡或窗口,但是正如Jackson Sandland在评论中所指出的那样,我上面给出的解决方案将改变浏览器的历史记录。 在进行了一些挖掘之后,我想到了另一个公认的“ hacky”但看似有效的解决方案:使用window.name
而不是URL中的标记:
if(window.name !== "refreshed") {
window.name = "refreshed";
window.location.refresh();
}
如果您想测试一下,请将以下内容粘贴到HTML文件中,然后将其加载到浏览器中:
<script>
window.name = prompt("Window name", window.name);
</script>
输入新名称,然后刷新页面。 您会看到刷新后会显示新名称。 同样,如果您随后打开另一个使用相同文件的标签,则可以独立于另一个标签设置该标签的名称。
最好的选择是在某个位置标记它已重新加载一次。 如Matt所说,使用cookie或localStorage,如果需要按选项卡,则可以更改位置。
也许您可以帮助我们了解您为什么要重新加载,可能还有另一种方法。
您需要在页面的JavaScript之外存储某种状态,以指示是否刷新。 一种方法是使用localStorage
或cookie,但是这两种方法都无法按选项卡或按窗口使用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.