基于H5 pushState和Ajax完美实现页面局部刷新

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于H5 pushState和Ajax完美实现页面局部刷新相关的知识,希望对你有一定的参考价值。

众所周知使用Ajax可以局部刷新提高用户体验,然而url不跟随改变是其一大弊端。

如果修改浏览器地址栏的url,同时不刷新整个页面就完美了。

 

先来看看什么是pushState? 给history对象增加一个状态。

window.history.pushState(stateData, ‘title’,  ‘newUrl’); // stateData用于事件参数

window.addEventListener(‘popstate’, function(){

         var state = window.history.state;

         // to do …

});

 

 

下面实例展示了pushState如何解决上面问题。

 技术分享

技术分享

技术分享

技术分享

 

 

末了,history.replaceState和pushState类似,区别是替换一个状态。

以上是关于基于H5 pushState和Ajax完美实现页面局部刷新的主要内容,如果未能解决你的问题,请参考以下文章

SPA单页面应用router实现

关于在Ajax中使用pushstate

使用ajax和history.pushState无刷新改变页面URL

微信h5页面屏蔽投诉按钮的完美实现办法

ajax与HTML5 history pushState/replaceState实例

H5监听Android物理返回键