问:
如何使用 JavaScript 刷新页面?
答1:
huntsbot.com高效搞钱,一站式跟进超10+任务平台外包需求
使用 location.reload()。
例如,要在单击带有 id=“something” 的元素时重新加载:
$('#something').click(function() {
location.reload();
});
reload() 函数采用可设置为 true 的可选参数,以强制从服务器而不是缓存重新加载。该参数默认为 false,因此默认情况下页面可能会从浏览器的缓存中重新加载。
这对我不起作用。这虽然有效:window.location.href=window.location.href;
这对我不起作用。 window.location.href=window.location.href; 和 location.href=location.href; 工作。
window.location.reload(true); 将硬刷新,否则默认为 false
只需运行 window.location.reload()!
@FaridAbbas location.reload(); 是标准的 JavaScript。你不需要 jQuery。
答2:
与HuntsBot一起,探索全球自由职业机会–huntsbot.com
有多种使用 JavaScript 刷新页面的无限方法:
location.reload() history.go(0) location.href = location.href location.href = location.pathname location.replace(location.pathname) location.reload(false) 如果我们需要从网络上提取文档-再次服务器(例如文档内容动态更改的位置),我们会将参数作为 true 传递。
您可以继续创建有创意的列表:
窗口位置 = 窗口位置
window.self.window.self.window.window.location = window.location
…和其他 534 种方式
var方法= [“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) { b o d y . a p p e n d ( body.append( body.append((”", { text: cMethod }).on(“click”, function() { eval(cMethod); // 不要怪我使用 eval })); })(methods[i]); } 按钮 { 背景:#2ecc71;边框:0;白颜色;字体粗细:粗体;字体系列:“摩纳哥”,等宽;填充:10px;边框半径:4px;光标:指针;过渡:背景色 0.5s 缓动;边距:2px; } 按钮:悬停 { 背景:#27ae60; }
列表和 jsfiddle +1。我有一个问题,在 jsfiddle 1 和 6 中,使生成的页面在重新加载时消失片刻,而 2-5 使页面重新加载“不明显”。在 chrome 的开发工具中,我可以看到正在重新生成的页面,但是你能解释一下重绘过程是不同的吗?请。先感谢您。
@Cԃաԃ我看不出有什么区别......也许缓存是问题?我很快就会看看。
1 和 6 (reload()/(false)) 较慢。嗯。有趣的。 :) 和 1 和 6 相同,reload() 的默认参数是 false。
location.href = location.href 是我通常使用的,但感谢其他人。很有用! +1
@Cԃաԃ 最后我可以重现你所看到的,我问了here。
答3:
huntsbot.com – 程序员副业首选,一站式外包任务、远程工作、创意产品分享订阅平台。
这适用于 all browsers:
location.reload();
如果您想知道它的支持程度,这里是 Can I use?
答4:
huntsbot.com洞察每一个产品背后的需求与收益,从而捕获灵感
我想很多方法都会奏效:
window.location.reload();
历史.go(0);
window.location.href=window.location.href;
如果您的网址在 example.com/something#blah 末尾有 #/hashbang,则此 window.location.href=window.location.href; 将什么都不做:
如果有人想知道 location.reload() 和 history.go(0) 之间的区别是什么:没有。 HTML 5 规范的相关部分 w3.org/TR/html5/browsers.html#dom-history-go 明确规定它们是等效的:“当调用 go(delta) 方法时,如果方法的参数被省略或值为 0,则用户代理必须就像调用了 location.reload() 方法一样。”
唯一对我有用的是这个:window.location.href=window.location.href;
window.location.href=window.location.href 为我工作
答5:
huntsbot.com – 高效赚钱,自由工作
要使用 jQuery 重新加载页面,请执行以下操作:
$.ajax({
url: "",
context: document.body,
success: function(s,x){
$(this).html(s);
}
});
我在这里使用的方法是 Ajax jQuery。我在 Chrome 13 上对其进行了测试。然后我将代码放入将触发重新加载的处理程序中。 URL 是 “”,表示此页面。
投反对票。这并没有真正回答问题,而是展示了如何用 Ajax 响应替换页面的 HTML。这与重新加载页面不同:例如,我现在正在处理一种情况,这无法解决原始问题。
像这样重新加载整个 HTML 的一个问题是必须手动调用 onload/ready 事件并减轻对先前声明的变量的覆盖,您可能希望在刷新后保留其状态。
除非你对你的代码非常小心,否则这将导致内存泄漏,你已经附加了事件处理程序等,而在替换它们所附加的代码之前没有分离它们。
我正在使用它每秒重新加载我们的仪表板,零闪烁!这是穷人的彗星/json api。感谢@DanielLlewellyn 等人。用于警告。
一些人评论说,这种方法对于只刷新页面的一部分很有用。它不是。我认为那些人误解了 $.ajax 的 context 参数并期望它以某种方式执行某种魔术。它所做的只是set the this value of callback functions。对 "" 的 URL 的 Ajax 将访问您当前所在的 URL,因此通常会加载完整的 HTML(包括 和 和 ),并且此答案中的任何内容都不会过滤掉您不使用的内容不想。
答6:
huntsbot.com全球7大洲远程工作机会,探索不一样的工作方式
如果当前页面是由 POST 请求加载的,您可能需要使用
window.location = window.location.pathname;
代替
window.location.reload();
因为如果在由 POST 请求加载的页面上调用 window.location.reload() 将提示确认。
但是,这将丢失查询字符串,而 window.location = window.location 不会
但是,@mrmillsy window.location = window.location 也不完美;如果当前 URL 中有一个脆弱的(hashbang),它什么也不做。
答7:
huntsbot.com – 程序员副业首选,一站式外包任务、远程工作、创意产品分享订阅平台。
问题应该是,
如何使用 JavaScript 刷新页面
window.location.href = window.location.href; //This is a possibility
window.location.reload(); //Another possiblity
history.go(0); //And another
你被宠坏了。
答8:
保持自己快人一步,享受全网独家提供的一站式外包任务、远程工作、创意产品订阅服务–huntsbot.com
您可能想使用
location.reload(forceGet)
forceGet 是一个布尔值且可选。
默认值为 false ,它从缓存中重新加载页面。
如果您想强制浏览器从服务器获取页面以摆脱缓存,请将此参数设置为 true。
要不就
location.reload()
如果您想快速轻松地使用缓存。
答9:
huntsbot.com提供全网独家一站式外包任务、远程工作、创意产品分享与订阅服务!
具有不同缓存相关行为的三种方法:
location.reload(true) 在实现 location.reload() 的强制重载参数的浏览器中,通过获取页面及其所有资源(脚本、样式表、图像等)的新副本来重新加载。不会从缓存中提供任何资源 - 从服务器获取新副本,而不在请求中发送任何 if-modified-since 或 if-none-match 标头。相当于用户在可能的情况下在浏览器中进行“硬重新加载”。请注意,Firefox(请参阅 MDN)和 Internet Explorer(请参阅 MSDN)支持将 true 传递给 location.reload(),但不受普遍支持,并且不是 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 不包含脆弱/hashbang 时才有效!重新加载页面而不从缓存中重新获取或重新验证任何新资源。如果页面的 HTML 本身是新鲜的,这将重新加载页面而不执行任何 HTTP 请求。这相当于(从缓存的角度来看)用户在新选项卡中打开页面。但是,如果页面的 URL 包含哈希,这将无效。同样,据我所知,这里的缓存行为是未指定的;我通过测试确定了它。
因此,总而言之,您要使用:
location = 最大使用缓存的位置,只要页面的 URL 中没有散列,在这种情况下,这将不起作用
location.reload(true) 在不重新验证的情况下获取所有资源的新副本(尽管它不是普遍支持的,并且在某些浏览器(如 Chrome)中的行为与 location.reload() 没有什么不同)
location.reload() 以忠实再现用户单击“刷新”按钮的效果。
+1 位置 = 位置;尽管它比提供的大多数答案短,但似乎没有多少人建议它,唯一的缺点是我猜它的可读性,而 location.reload() 更具语义
@Brandito 更重要的是,如果 URL 中有哈希,则 location = location 不起作用。对于任何使用 fragid 的站点——甚至对于任何链接到页面的人可能会在 URL 中添加一个 fragid 的站点——这都会使其损坏。
答10:
一个优秀的自由职业者,应该有对需求敏感和精准需求捕获的能力,而huntsbot.com提供了这个机会
window.location.reload() 将从服务器重新加载,并再次加载您的所有数据、脚本、图像等。
因此,如果您只想刷新 HTML,window.location = document.URL 将返回更快且流量更少。但如果 URL 中有井号 (#),它将不会重新加载页面。
这种行为在 Chrome 中是正确的,至少 - location.reload() 强制重新验证缓存资源,即使没有参数,而 window.location = document.URL 很乐意提供缓存资源而无需访问服务器,只要它们是新鲜的。
答11:
打造属于自己的副业,开启自由职业之旅,从huntsbot.com开始!
jQuery Load 函数还可以执行页面刷新:
$('body').load('views/file.html', function () {
$(this).fadeIn(5000);
});
不,这不是页面刷新。
原文链接:https://www.huntsbot.com/qa/yOQ6/how-can-i-refresh-a-page-with-jquery?lang=zh_CN&from=csdn
保持自己快人一步,享受全网独家提供的一站式外包任务、远程工作、创意产品订阅服务–huntsbot.com