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


当前回答

你也可以使用

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

这对我来说很有效。

其他回答

简单地使用. .

location.reload(true/false);

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

window.location.reload ();在JavaScript中

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

如果要控制缓存页面上的更新,我有一个很好的方法。

添加一些javascript页面,总是获得页面的版本号作为字符串(ajax)加载。例如:www.yoursite.com/page/about?getVer=1&__[日期] 如果用户访问过该页面一次,则将其与存储的版本号(存储在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

对我来说,这个方法很有效,也许它也能帮助到你。

window.location.reload()

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

window.location.href=window.location.href

试试这个效果很好

jQuery("body").load(window.location.href);