245

如何使用 JavaScript 或 HTML 刷新页面?

4

8 回答 8

336

window.location.reload();在 JavaScript 中

<meta http-equiv="refresh" content="1">在 HTML 中(其中1= 1 秒)。

于 2011-03-14T04:49:47.743 回答
275

这里有535 种使用 javascript 重新加载页面的方法,非常酷:

这是前20个:

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)

最后10个:

self['location']['replace'](self.location['href'])
location.reload()
location['reload']()
window.location.reload()
window['location'].reload()
window.location['reload']()
window['location']['reload']()
self.location.reload()
self['location'].reload()
self.location['reload']()
self['location']['reload']()

来源文章

于 2011-10-03T07:11:55.670 回答
84

只需使用..

location.reload(true/false);

如果为 false,则将从缓存重新加载页面,否则从服务器重新加载。

于 2013-09-26T06:23:06.010 回答
15
window.location.reload()

应该可以工作,但是有许多不同的选项,例如:

window.location.href=window.location.href
于 2011-03-14T04:52:18.210 回答
12

你也可以使用

<input type="button" value = "Refresh" onclick="history.go(0)" />

这对我来说可以。

于 2015-09-15T11:07:37.687 回答
5

利用:

window.location.reload();
于 2011-03-14T04:51:13.393 回答
2

如果它需要控制缓存页面的更新,我有一个很好的方法来做到这一点。

  • 向页面添加一些 javascript,在加载时始终将页面的版本号作为字符串 (ajax) 获取。例如:www.yoursite.com/page/about?getVer=1&__[date]
  • 如果用户访问过该页面一次,则将其与存储的版本号(存储在 cookie 或 localStorage 中)进行比较,否则直接存储。
  • 如果版本与本地版本不同,请使用 window.location.reload(true) 刷新页面
  • 您将在页面上看到所做的任何更改。

这种方法至少需要一个请求,即使不需要请求,因为它已经存在于本地浏览器缓存中。但是与完全不使用缓存相比,开销要少(以确保页面将显示正确的更新内容)。每个页面请求只需要几个字节,而不是每个页面的所有内容。

重要提示:版本信息请求必须在您的服务器上实现,否则它将返回整个页面。

返回的版本字符串示例www.yoursite.com/page/about?getVer=1&__[date]:skg2pl-v8kqb

给你一个代码示例,这里是我的库的一部分(我不认为你可以使用它,但它可能让你知道如何去做):

o.gCheckDocVersion = function() // Because of the hard caching method, check document for changes with ajax 
{
  var sUrl = o.getQuerylessUrl(window.location.href),
      sDocVer = o.gGetData( sUrl, false );

  o.ajaxRequest({ url:sUrl+'?getVer=1&'+o.uniqueId(), cache:0, dataType:'text' }, 
                function(sVer)
                {
                   if( typeof sVer == 'string' && sVer.length )
                   {
                     var bReload = (( typeof sDocVer == 'string' ) && sDocVer != sVer );
                     if( bReload || !sDocVer )
                      { 
                        o.gSetData( sUrl, sVer ); 
                        sDocVer = o.gGetData( sUrl, false );
                        if( bReload && ( typeof sDocVer != 'string' || sDocVer != sVer ))
                         { bReload = false; }
                      }
                     if( bReload )
                      {  // Hard refresh page contents
                        window.location.reload(true); }
                   }
                }, false, false );
};

如果您使用的是 javascript 或 css 文件等与版本无关的资源,请添加版本号(通过 url 重写而不是查询来实现,因为它们大多不会被缓存)。例如:www.yoursite.com/ver-01/about.js

对我来说,这种方法效果很好,也许它也可以帮助你。

于 2013-12-02T00:24:57.163 回答
-6

试试这个工作正常

jQuery("body").load(window.location.href);
于 2015-07-26T02:03:04.297 回答