201501-27 HTML5 History API 实现无刷新更新地址栏URL History是有趣的,不是吗?在之前的HTML版本中,我们对浏览历史记录的操作非常有限。我们可以来回使用可以使用的方法,但这就是一切我们能做的了。但是,利用HTML5的HistoryAPI,我们可以更好的控制浏览器的历史记录了。例如:我们可以添加一条记录到历史记录的列表中,或者在没有刷新时,可以更新地址栏的URL。为什么介绍HistoryAPI?在这篇文章中,我们将了解HTML5中HistoryAPI的来源。在此之前,我们经常使用散列值来... 继续阅读 >
201411-11 类似github,houzz使用ajax和HTML5无刷新改变页面URL 表现如果你使用chrome或者firefox等浏览器访问本博客、github.com、plus.google.com等网站时,细心的你会发现页面之间的点击是通过ajax异步请求的,同时页面的URL发生了了改变。并且能够很好的支持浏览器前进和后退。是什么有这么强大的功能呢?HTML5里引用了新的API,history.pushState和history.replaceState,就是通过这个接口做到无刷新改变页面URL的。与传统的AJAX的区别传统的ajax有如下的问题:1、可以无刷新改变页面... 继续阅读 >
201411-11 深入学习HTML5的history API 不得不佩服下谷歌Chrome团队,利用HTML5和CSS3实现了一本相当漂亮的在线电子书:《关于浏览器和互联网20件事》。访问地址:http://www.20thingsilearned.com话说这本电子书已经出来很久了,不过今天来看依然觉得相当的赞。我们无需刷新页面,就可以来回切换电子书页面,这正是OPOA(OnePageOneApplication)的完美体现。现在正在学习关于historyAPI这方面的东西,所以特别感兴趣的是他们如何使用window.history.pushState()... 继续阅读 >
201411-11 pjax:ajax和pushState结合的js库——实现网站无刷新加载页面 上篇文章讲到如何使用ajax+pushState打造无刷新改变URL的方式。虽然这种方式是将ajax、history.pushState、history.replaceStatte、window.onpopstate等几个技术点结合,但在具体使用中还是要考虑到很多情况的,如:1、改变内容的时候也要改变title2、不支持的浏览器如何处理3、事件如何绑定,是否使用了delegate模式4、ajax异常处理5、ajax前后的自定义事件等介于有上面等多的疑问,将ajax和pushState封装下,供后面使用还... 继续阅读 >
201411-11 Pjax是什么以及为什么推荐大家用 什么是pjax?现在很多网站(facebook, twitter)都支持这样的一种浏览方式,当你点击一个站内的链接的时候,不是做页面跳转,而是只是站内页面刷新。这样的用户体验,比起整个页面都闪一下来说,好很多。其中有一个很重要的组成部分,这些网站的ajax刷新是支持浏览器历史的,刷新页面的同时,浏览器地址栏位上面的地址也是会更改,用浏览器的回退功能也能够回退到上一个页面。那么如果我们想要实现这样的功能,我... 继续阅读 >