如何使用jQuery刷新页面?
如何使用jQuery刷新页面?
$('#something').click(function() {
location.reload();
});
该 reload()
function接受可设置的可选参数 true
强制从服务器而不是缓存重新加载。参数默认为 false
,因此默认情况下,页面可能会从浏览器的缓存中重新加载。
即使没有jQuery,这应该适用于所有浏览器:
location.reload();
有 多 使用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]);
}
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;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
我想有很多方法可行:
window.location.reload();
history.go(0);
window.location.href=window.location.href;
要使用jQuery重新加载页面,请执行以下操作:
$.ajax({
url: "",
context: document.body,
success: function(s,x){
$(this).html(s);
}
});
我使用的方法是Ajax jQuery。我测试了它 铬 13.然后我将代码放在将触发重新加载的处理程序中。该 网址 是 ""
, 意思是 这一页。
如果当前页面是由POST请求加载的,您可能想要使用
window.location = window.location.pathname;
代替
window.location.reload();
因为 window.location.reload()
如果在POST请求加载的页面上调用,将提示确认。
问题应该是,
如何刷新页面 JavaScript的
window.location.href = window.location.href; //This is a possibility
window.location.reload(); //Another possiblity
history.go(0); //And another
你被宠坏了选择。
你可能想用
location.reload(forceGet)
forceGet
是一个布尔值和可选的。
默认值为false,从缓存重新加载页面。
如果要强制浏览器从服务器获取页面以除去缓存,请将此参数设置为true。
要不就
location.reload()
如果你想快速轻松地进行缓存。
具有不同缓存相关行为的三种方法:
location.reload(true)
在实现的 forcedReload
的参数 location.reload()
,通过获取页面的新副本及其所有资源(脚本,样式表,图像等)来重新加载。不会服务 任何 来自缓存的资源 - 从服务器获取新的副本而不发送任何内容 if-modified-since
要么 if-none-match
请求中的标头。
相当于用户在可能的浏览器中进行“硬重载”。
注意通过 true
至 location.reload()
在Firefox中受支持(请参阅 MDN)和Internet Explorer(见 MSDN)但不是普遍支持,不是其中的一部分 W3 HTML 5规范,也不是 W3草案HTML 5.1规范,也不是 WHATWG HTML生活标准。
在不支持的浏览器中,例如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()
忠实再现用户点击“刷新”按钮的效果。window.location.reload()
将从服务器重新加载,并将再次加载所有数据,脚本,图像等。
所以如果你只是想刷新HTML,那么 window.location = document.URL
将返回更快,流量更少。但如果URL中存在哈希(#),则不会重新加载页面。