如何使用JavaScript刷新页面?
当前回答
由于问题是一般性的,让我们尝试总结出答案的可能解决方案:
简单的纯JavaScript解决方案:
最简单的方法是以适当的方式放置单线解决方案:
location.reload();
很多人在这里缺少的是,因为他们希望得到一些“点”,reload()函数本身提供了一个布尔值作为参数(详细信息:https://developer.mozilla.org/en-US/docs/Web/API/Location/reload).
Location.reload()方法从当前网址。它的可选唯一参数是布尔值true,导致页面始终从服务器重新加载。如果是的话如果为false或未指定,则浏览器可以从隐藏物
这意味着有两种方式:
解决方案1:强制从服务器重新加载当前页面
location.reload(true);
解决方案2:从缓存或服务器重新加载(基于浏览器和配置)
location.reload(false);
location.reload();
如果你想将它与jQuery结合起来监听事件,我建议使用“.on()”方法而不是“.click”或其他事件包装器,例如,更合适的解决方案是:
$('#reloadIt').on('eventXyZ', function() {
location.reload(true);
});
其他回答
你可以用两种方式写。第一种是重新加载页面的标准方式,也称为简单刷新
location.reload(); //simple refresh
另一种叫做硬刷新。在这里传递布尔表达式并将其设置为true。这将重新加载页面,销毁旧缓存并从头开始显示内容。
location.reload(true);//hard refresh
下面是一个使用jQuery异步重新加载页面的解决方案。它避免了window.location=window.location引起的闪烁。这个示例显示了一个连续重新加载的页面,就像在仪表板中一样。它经过战斗测试,正在时代广场的信息显示电视上运行。
<!DOCTYPE html>
<html lang="en">
<head>
...
<meta http-equiv="refresh" content="300">
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.2.3/jquery.min.js"></script>
<script>
function refresh() {
$.ajax({
url: "",
dataType: "text",
success: function(html) {
$('#fu').replaceWith($.parseHTML(html));
setTimeout(refresh,2000);
}
});
}
refresh();
</script>
</head>
<body>
<div id="fu">
...
</div>
</body>
</html>
笔记:
直接像$.get(“”,function(data){$(document.body).html(data)})那样使用$.ajax会导致css/js文件被缓存破坏,即使您使用cache:true,这就是我们使用parseHTML的原因parseHTML不会找到一个body标签,所以你的整个身体都需要放在一个额外的div中,我希望这些知识有一天能帮助你,你可以猜到我们是如何为那个div选择id的使用http equiv=“refresh”,以防javascript/服务器打嗝出现问题,然后页面仍然会重新加载,而不会接到电话这种方法可能会以某种方式泄漏内存,http equiv刷新修复了
您可能想使用
location.reload(forceGet)
forceGet是一个布尔值,也是可选的。
默认值为false,从缓存中重新加载页面。
如果您希望强制浏览器从服务器获取页面,以清除缓存,请将此参数设置为true。
或者只是
location.reload()
如果您想快速方便地使用缓存。
jQueryLoad函数还可以执行页面刷新:
$('body').load('views/file.html', function () {
$(this).fadeIn(5000);
});
下面是一些代码行,您可以使用jQuery重新加载页面。
它使用jQuery包装器并提取本地dom元素。
如果您只想在代码上获得jQuery的感觉,而不关心代码的速度/性能,请使用此选项。
只需从1到10中选择适合您的需求,或者根据模式和之前的答案添加更多内容。
<script>
$(location)[0].reload(); //1
$(location).get(0).reload(); //2
$(window)[0].location.reload(); //3
$(window).get(0).location.reload(); //4
$(window)[0].$(location)[0].reload(); //5
$(window).get(0).$(location)[0].reload(); //6
$(window)[0].$(location).get(0).reload(); //7
$(window).get(0).$(location).get(0).reload(); //8
$(location)[0].href = ''; //9
$(location).get(0).href = ''; //10
//... and many other more just follow the pattern.
</script>