如何使用JavaScript重新加载页面

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重新加载页面的方法,最简单的方法是location = location

这是前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']
...


您可以使用window.location.reload();执行此任务。因为有很多方法可以做到这一点,但我认为这是用JavaScript重新加载同一文档的合适方法。这是解释

可以使用javascript window.location对象

  • 获取当前页面地址(URL)
  • 将浏览器重定向到其他页面
  • 重新加载同一页

window:在javascript中,表示浏览器中打开的窗口。

location:在javascript中保存有关当前URL的信息。

location对象就像window对象的一个片段,通过window.location属性调用。

location对象有三种方法:

  • assign():用于加载新文档
  • reload():用于重新加载当前单据
  • replace():用于用新文档替换当前文档
  • 所以这里我们需要使用reload(),因为它可以帮助我们重新加载同一个文档。

    所以像window.location.reload();一样使用它。

    JSfiddle上的在线演示

    要让浏览器直接从服务器而不是从缓存中检索页面,可以将true参数传递给location.reload()。此方法与所有主要浏览器兼容,包括IE、Chrome、Firefox、Safari、Opera。


    尝试:

    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请求检索到的页面重新加载的信息,例如在提交method="post"表单之后。

    要重新加载保留日志数据的页面,请使用:

    window.location.reload();

    要重新加载放弃发布数据的页面(执行GET请求),请使用:

    window.location.href = window.location.href;

    希望这能帮助其他人寻找相同的信息。


    要使用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


    为了方便和简单,使用location.reload()。如果您想从服务器上获取一些东西,也可以使用location.reload(true)


    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>
        &nbsp;[CARGAR NUEVAMENTE]&nbsp;
    </button>

    Edited to show how this looks like when included in a project

    2016-07-02

    My apologies as this is a personal project that implies using jQuery UI, Themeroller, Icons framework, methods like jQuery tabs, but it's in Spanish ;)


    这应该有效:

    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重新加载它。