How to reload a page using JavaScript
如何使用javascript重新加载页面?
我需要一个能在所有浏览器中工作的方法。
JavaScript 1
1 2 | window.location.href = window.location.pathname + window.location.search + window.location.hash; // creates a history entry |
JavaScript 1.1
1 2 | window.location.replace(window.location.pathname + window.location.search + window.location.hash); // does not create a history entry |
JavaScript 1.2
1 2 3 4 | window.location.reload(false); // If we needed to pull the document from // the web-server again (such as where the document contents // change dynamically) we would pass the argument as 'true'. |
1 | location.reload(); |
有关详细信息,请参阅此MDN页。
这里有535种使用javascript重新加载页面的方法,最简单的方法是
这是前50个:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 | location = location location = location.href location = window.location location = self.location location = window.location.href location = self.location.href location = location['href'] location = window['location'] location = window['location'].href location = window['location']['href'] location = window.location['href'] location = self['location'] location = self['location'].href location = self['location']['href'] location = self.location['href'] location.assign(location) location.replace(location) window.location.assign(location) window.location.replace(location) self.location.assign(location) self.location.replace(location) location['assign'](location) location['replace'](location) window.location['assign'](location) window.location['replace'](location) window['location'].assign(location) window['location'].replace(location) window['location']['assign'](location) window['location']['replace'](location) self.location['assign'](location) self.location['replace'](location) self['location'].assign(location) self['location'].replace(location) self['location']['assign'](location) self['location']['replace'](location) location.href = location location.href = location.href location.href = window.location location.href = self.location location.href = window.location.href location.href = self.location.href location.href = location['href'] location.href = window['location'] location.href = window['location'].href location.href = window['location']['href'] location.href = window.location['href'] location.href = self['location'] location.href = self['location'].href location.href = self['location']['href'] location.href = self.location['href'] ... |
您可以使用
可以使用javascript
- 获取当前页面地址(URL)
- 将浏览器重定向到其他页面
- 重新加载同一页
所以这里我们需要使用
所以像
JSfiddle上的在线演示
要让浏览器直接从服务器而不是从缓存中检索页面,可以将
尝试:
1 | window.location.reload(true); |
设置为"true"的参数从服务器重新加载新副本。如果不使用它,将从缓存中为页面提供服务。
更多信息可以在msdn和mozilla文档中找到。
这对我很有用:
1 2 3 4 5 6 | function refresh() { setTimeout(function () { location.reload() }, 100); } |
http://jsfiddle.net/umerqureshi/znruyzop/
我在寻找一些关于通过POST请求检索到的页面重新加载的信息,例如在提交
要重新加载保留日志数据的页面,请使用:
要重新加载放弃发布数据的页面(执行GET请求),请使用:
希望这能帮助其他人寻找相同的信息。
要使用javascript重新加载页面,请使用:
1 | window.location.reload(); |
如果你放
1 | window.location.reload(true); |
在没有其他条件限定代码运行原因的页面开头,将加载该页面,然后继续重新加载,直到关闭浏览器。
1 | location.href = location.href; |
使用按钮或将其放入"A"(锚定)标签:
1 | <input type="button" value="RELOAD" onclick="location.reload();" /> |
尝试其他需求:
1 2 3 4 5 | Location Objects has three methods -- assign() Used to load a new document reload() Used to reloads the current document. replace() Used to replace the current document with a new one |
为了方便和简单,使用
20秒后自动重新加载页面。
1 2 3 4 5 | window.onload = function() { setTimeout(function () { location.reload() }, 20000); }; |
谢谢,这篇文章非常有帮助,不仅可以用建议的答案重新加载页面,还可以让我想到在按钮上放置一个jquery用户界面图标:
1 2 3 4 5 6 7 | <button style="display:block; vertical-align:middle; height:2.82em;" title="Cargar nuevamente el código fuente sin darle un [Enter] a la dirección en la barra de direcciones" class="ui-state-active ui-corner-all ui-priority-primary" onclick="javascript:window.location.reload(true);"> <span style="display:inline-block;" class="ui-icon ui-icon-refresh"></span> [CARGAR NUEVAMENTE] </button> |
这应该有效:
1 | window.location.href = window.location.href.split( '#' )[0]; |
或
1 2 3 | var x = window.location.href; x = x.split( '#' ); window.location.href = x[0]; |
我喜欢这样做的原因如下:
- 删除后的部分,确保页面重新加载到浏览器上,浏览器不会重新加载包含该部分的内容。
- 如果您最近提交了表单,它不会询问您是否要重新发布最后的内容。
- 它甚至可以在最新的浏览器上工作。在最新的火狐和Chrome上测试。
或者,您可以使用最新的官方方法执行此任务
1 | window.location.reload() |
使用此按钮刷新页面
演示
1 | <input type="button" value="Reload Page" onClick="document.location.reload(true)"> |
你可以简单地使用
1 | window.location=document.URL |
其中document.url获取当前页面的url,window.location重新加载它。