PushState+Ajax 完美实现无刷新
10 Apr 2012折腾一下PJAX,利用HTML5的新API,实现历史记录的完美导入。
不知道你用没用过Github,里边的目录跳转就是用html5的pushstate做的,效果很酷。
还有一个关于web知识的宣传网站,http://www.20thingsilearned.com/en-US
你可以完美的前进后退,并且可以与好友分享特定页面,实现方法?不用我说了吧。
实现PJAX只需要以下几点:
<span style="color: #ff4040;"><span>pushState(state, title, url)</span></span>
– Add one history state into browser history and update the URL in the browser windowreplaceState(state, title, url)
– operates exactly like history.pushState() except that replaceState() modifies the current history entry instead of creating a new one.window.onpopstate
– A popstate event is dispatched to the window every time the active history entry changes.
If the history entry being activated was created by a call to pushState or affected by a call to replaceState, the popstate event’s state property contains a copy of the history entry’s state object.
不想手写?拿来主义?
好吧,这里推荐给你一个现成的文件History.js,完美支持HTML4与HTML5,
在HTML5浏览器使用新API,HTML4浏览器继续锚点的干活…
https://github.com/balupton/History.js
【 在线演示 】
试了一下,把wp主题给整了一个PJAX版本,效果不错,继续挖掘中。
想折腾的朋友,可以开始动手了。
转载请注明:于哲的博客 » PushState+Ajax 完美实现无刷新