Roy*_*Roy 3722
$('#something').click(function() {
location.reload();
});
Run Code Online (Sandbox Code Playgroud)
该reload()
函数采用可选参数,可以设置true
为强制从服务器而不是缓存重新加载.参数默认为false
,因此默认情况下,页面可能会从浏览器的缓存中重新加载.
Ion*_*zău 435
使用JavaScript刷新页面有多种无限制的方法:
location.reload()
history.go(0)
location.href = location.href
location.href = location.pathname
location.replace(location.pathname)
location.reload(false)
如果我们需要再次从Web服务器中提取文档(例如文档内容动态更改的位置),我们会将参数传递为
true
.
您可以继续创作列表:
window.location = window.location
window.self.window.self.window.window.location = window.location
var methods = [
"location.reload()",
"history.go(0)",
"location.href = location.href",
"location.href = location.pathname",
"location.replace(location.pathname)",
"location.reload(false)"
];
var $body = $("body");
for (var i = 0; i < methods.length; ++i) {
(function(cMethod) {
$body.append($("<button>", {
text: cMethod
}).on("click", function() {
eval(cMethod); // don't blame me for using eval
}));
})(methods[i]);
}
Run Code Online (Sandbox Code Playgroud)
button {
background: #2ecc71;
border: 0;
color: white;
font-weight: bold;
font-family: "Monaco", monospace;
padding: 10px;
border-radius: 4px;
cursor: pointer;
transition: background-color 0.5s ease;
margin: 2px;
}
button:hover {
background: #27ae60;
}
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
Run Code Online (Sandbox Code Playgroud)
Dav*_*vid 197
我想有很多方法可行:
window.location.reload();
history.go(0);
window.location.href=window.location.href;
Pet*_*ter 122
要使用jQuery重新加载页面,请执行以下操作:
$.ajax({
url: "",
context: document.body,
success: function(s,x){
$(this).html(s);
}
});
Run Code Online (Sandbox Code Playgroud)
我使用的方法是Ajax jQuery.我在Chrome 13 上测试了它.然后我将代码放在将触发重新加载的处理程序中.该URL是""
,这意味着这个页面.
Sum*_*had 106
如果当前页面是由POST请求加载的,您可能想要使用
window.location = window.location.pathname;
Run Code Online (Sandbox Code Playgroud)
代替
window.location.reload();
Run Code Online (Sandbox Code Playgroud)
因为window.location.reload()
如果在POST请求加载的页面上调用,将提示确认.
Joh*_*hnP 64
问题应该是,
如何使用JavaScript刷新页面
window.location.href = window.location.href; //This is a possibility
window.location.reload(); //Another possiblity
history.go(0); //And another
Run Code Online (Sandbox Code Playgroud)
你被宠坏了选择.
Pin*_*nch 55
你可能想用
location.reload(forceGet)
Run Code Online (Sandbox Code Playgroud)
forceGet
是一个布尔值和可选的.
默认值为false,从缓存重新加载页面.
如果要强制浏览器从服务器获取页面以删除缓存,请将此参数设置为true.
要不就
location.reload()
Run Code Online (Sandbox Code Playgroud)
如果你想快速轻松地进行缓存.
Mar*_*ery 39
具有不同缓存相关行为的三种方法:
location.reload(true)
在实现forcedReload
参数的浏览器中location.reload()
,通过获取页面的新副本及其所有资源(脚本,样式表,图像等)来重新加载.不会从缓存中提供任何资源 - 从服务器获取新副本而不在请求中发送任何if-modified-since
或if-none-match
标头.
相当于用户在可能的浏览器中进行"硬重载".
请注意,Firefox(请参阅MDN)和Internet Explorer(请参阅MSDN)支持传递true
,但不是普遍支持,不是W3 HTML 5规范的一部分,也不是W3草案HTML 5.1规范,也不是WHATWG HTML Living Standard.location.reload()
在Google Chrome浏览器等不受支持的浏览器中,location.reload(true)
其行为与location.reload()
.
location.reload()
要么 location.reload(false)
重新加载页面,获取页面HTML本身的新的非缓存副本,并对浏览器缓存的任何资源(如脚本)执行RFC 7234重新验证请求,即使它们是新的,RFC 7234允许浏览器提供服务他们没有重新验证.
location.reload()
据我所知,在执行调用时,浏览器应该如何利用其缓存?我通过实验确定了上述行为.
这相当于用户只需按下浏览器中的"刷新"按钮即可.
location = location
(或无限多种其他可能涉及分配location
或属于其属性的技术)仅在页面的URL不包含fragid/hashbang时才有效!
重新加载页面,无需从缓存中重新获取或重新验证任何 新资源.如果页面的HTML本身是新鲜的,这将重新加载页面而根本不执行任何HTTP请求.
这相当于(从缓存的角度来看)用户在新选项卡中打开页面.
但是,如果页面的URL包含哈希值,则无效.
同样,据我所知,此处的缓存行为尚未指定; 我通过测试确定了它.
总而言之,您想要使用:
location = location
为了最大限度地使用缓存,只要页面的URL中没有哈希值,在这种情况下这将不起作用location.reload(true)
在不重新验证的情况下获取所有资源的新副本(虽然它不受普遍支持,并且location.reload()
在某些浏览器中行为与Chrome不同)location.reload()
忠实再现用户点击"刷新"按钮的效果.小智 26
window.location.reload()
将从服务器重新加载,并将再次加载您的所有数据,脚本,图像等.
因此,如果您只想刷新HTML,那么window.location = document.URL
返回的速度会更快,流量也会减少.但如果URL中存在哈希(#),则不会重新加载页面.
Sul*_*rza 17
jQuery Load
函数也可以执行页面刷新:
$('body').load('views/file.html', function () {
$(this).fadeIn(5000);
});
Run Code Online (Sandbox Code Playgroud)
Fer*_* To 16
由于这个问题是通用的,让我们试着总结出答案的可能解决方案:
简单的JavaScript解决方案:
最简单的方法是以适当的方式放置一行解决方案:
location.reload();
Run Code Online (Sandbox Code Playgroud)
这里有很多人失踪,因为他们希望得到一些"点"是reload()函数本身提供了一个布尔作为参数(详情:https://developer.mozilla.org/en-US/docs/Web/API/Location/reload).
Location.reload()方法从当前URL重新加载资源.它的可选唯一参数是一个布尔值,当它为真时,会导致页面始终从服务器重新加载.如果为false或未指定,则浏览器可以从其缓存重新加载页面.
这意味着有两种方式:
解决方案1:强制从服务器重新加载当前页面
location.reload(true);
Run Code Online (Sandbox Code Playgroud)
解决方案2:从缓存或服务器重新加载(基于浏览器和您的配置)
location.reload(false);
location.reload();
Run Code Online (Sandbox Code Playgroud)
如果你想将它与jQuery结合起来监听一个事件,我建议使用".on()"方法而不是".click"或其他事件包装器,例如更合适的解决方案是:
$('#reloadIt').on('eventXyZ', function() {
location.reload(true);
});
Run Code Online (Sandbox Code Playgroud)
Wil*_*ken 15
这是一个使用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>
Run Code Online (Sandbox Code Playgroud)
笔记:
$.ajax
直接使用$.get('',function(data){$(document.body).html(data)})
会导致css/js文件被缓存破坏,即使你使用cache: true
,这就是我们使用的原因parseHTML
parseHTML
不会找到一个body
标签,所以你的整个身体需要额外的div,我希望这一天的知识有助于你,你可以猜到我们如何选择id为div
http-equiv="refresh"
以防万一javascript/server hiccup出现问题,那么页面仍会重新加载,而不会接到电话http-equiv
刷新修复了这一点Muj*_*key 13
我发现
window.location.href = "";
Run Code Online (Sandbox Code Playgroud)
要么
window.location.href = null;
Run Code Online (Sandbox Code Playgroud)
也刷页面.
这使得重新加载页面更容易删除任何哈希.当我在iOS模拟器中使用AngularJS时,这非常好,所以我不必重新运行应用程序.
您可以使用 JavaScript location.reload()
方法.此方法接受布尔参数.true
或false
.如果参数是 true
; 页面总是从服务器重新加载.如果是的话false
; 这是默认值或使用空参数浏览器从其缓存中重新加载页面.
带true
参数
<button type="button" onclick="location.reload(true);">Reload page</button>
Run Code Online (Sandbox Code Playgroud)
用default
/ false
参数
<button type="button" onclick="location.reload();">Reload page</button>
Run Code Online (Sandbox Code Playgroud)
使用jquery
<button id="Reloadpage">Reload page</button>
<script type="text/javascript">
$('#Reloadpage').click(function() {
location.reload();
});
</script>
Run Code Online (Sandbox Code Playgroud)
你不需要 jQuery中的任何东西,使用纯JavaScript重新加载页面,只需在location属性上使用reload函数,如下所示:
window.location.reload();
Run Code Online (Sandbox Code Playgroud)
默认情况下,这将使用浏览器缓存重新加载页面(如果存在)...
如果您想强制重新加载页面,只需将真值传递给重载方法,如下所示......
window.location.reload(true);
Run Code Online (Sandbox Code Playgroud)
此外,如果您已经在窗口范围内,您可以摆脱窗口并执行:
location.reload();
Run Code Online (Sandbox Code Playgroud)
使用
location.reload();
Run Code Online (Sandbox Code Playgroud)
要么
window.location.reload();
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2392825 次 |
最近记录: |