zoukankan      html  css  js  c++  java
  • 移动端点击返回键 页面不刷新

    在浏览器中点击返回或者前进按钮时,页面不刷新的问题。这个问题存在于移动端居多,尤其是苹果手机。

    这种问题经常在微信、uc这类的浏览器出现,这是因为浏览器保存了DOM和js的状态,相当于保存了整个页面,这种特性称作 “往返缓存”(back-forward cache,或bfcache)。
    对于这种情况可以用“pageshow”事件来解决,“pageshow”事件表示浏览器展示文档的时候触发,并且是在“onload”事件之后触发。如果浏览器是存在往返缓存机制的话,

    那么onload事件就只会触发一次,而“pageshow”事件则每次都会触发。这里需要注意“pageshow”事件必须绑定在window这个对象中,如下代码:

    <!DOCTYPE html>            
    <html lang="en">            
    <head>            
    <meta charset="UTF-8">     
    <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">     
    <title>移动端点击返回键 页面不刷新</title>          
    <style type="text/css">          
    </style>           
    </head>            
    <body>        
    <script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.js"></script>      
    <script type="text/javascript">      
    window.addEventListener('pageshow', function(event) {
        //event.persisted属性为true时,表示当前文档是从往返缓存中获取
        if (event.persisted) {
            location.reload();  
        }
    });
    </script>      
    </body>            
    </html>  








  • 相关阅读:
    本周总结
    本周总结
    第四周自我总结
    结对编程
    第四周自我总结
    第三周自我总结
    本周工作安排及内容
    知识思考
    交作业。。。
    MSF过程模型
  • 原文地址:https://www.cnblogs.com/xutongbao/p/9924850.html
Copyright © 2011-2022 走看看