Refresh a page using JavaScript or HTML
本问题已经有最佳答案,请猛点这里访问。
如何使用JavaScript或HTML刷新页面?
javascript中的
HTML格式的
以下是535种使用javascript重新加载页面的方法,非常酷:
以下是前20个:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 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个:
1 2 3 4 5 6 7 8 9 10 11 | 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']() |
original article
简单地使用…
1 | location.reload(true/false); |
如果为false,则将从缓存重新加载该页,否则从服务器重新加载。
1 | window.location.reload() |
但是,应该有效,有许多不同的选项,如:
1 | window.location.href=window.location.href |
您也可以使用
1 | <input type="button" value ="Refresh" onclick="history.go(0)" /> |
对我来说很好。
用途:
1 | window.location.reload(); |
如果它有什么事情可以控制缓存页面上的更新,我有一个很好的方法来解决这个问题。
- 在页面中添加一些javascript,以便在加载时始终以字符串(ajax)的形式获取页面的版本号。例如:
www.yoursite.com/page/about?getVer=1&__[date] 。 - 如果用户访问过页面一次,请将其与存储的版本号(存储在cookie或localstorage中)进行比较,否则直接存储。
- 如果版本与本地版本不同,请使用window.location.reload刷新页面(true)
- 您将看到页面上所做的任何更改。
即使不需要请求,此方法也至少需要一个请求,因为它已存在于本地浏览器缓存中。但是与完全不使用缓存相比,开销要小一些(以确保页面显示正确的更新内容)。每个页面请求只需要几个字节,而不是每个页面的所有内容。
重要提示:版本信息请求必须在服务器上实现,否则它将返回整个页面。
为了给您举一个代码示例,这里是我的库的一部分(我认为您不能使用它,但它可能会让您了解如何使用它):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | 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
对我来说,这个方法很有效,也许它也能帮助你。
试试这个好吗
1 | jQuery("body").load(window.location.href); |