HTML5的HistoryAPI是什么鬼?
简单来说,HTML5HistoryAPI就是让咱们更轻松地玩转浏览器历史记录!以前换网页要靠那个#旁边的数字(我们都叫它hash值),但问题是,数值改了历史记录也没变,多不方便!现在好了,用上HTML5HistoryAPI就能解决这个麻烦!
这个API让你在网页快速切换的同时,还能保留变化记录,比如修改网址这种事儿,对于只有一页的小应用就超级实用了。对我们前端开发者来说,实在是太赞!
你知道?historyAPI里面藏着两个超实用的东东——pushState()和replaceState()!
别跟我说你没听说过pushState()和replaceState()这两位大哥大姐!他们可是栋梁之才一招在手,管它啥浏览器历史,都由你说了算!pushState()就是给你的历史记录加上点儿料,replaceState()则像个整形医生一样给你的历史状态整容。简单来说,如果你要玩堆积木游戏,那pushState()就好比往里加新块,replaceState()就像把所有旧的一次性替换完毕。这样一来,你对浏览器的历史记录就能随心所欲掌控!
不要小看这些方法!如果用pushState(),网页就会变得有趣起来;而如果选了replaceState,页面就直接跳转,挺方便?这样一来,无论浏览什么内容,你都能操控自如,让用户在单页应用也能享受到类似多页应用般的顺畅感受。
用HistoryAPI开发单页应用的好处
搞定HistoryAPI就能帮你看懂单页应用!最直接的就是省下了之前找hash值换页面的麻烦。以前,历史记录在浏览器里就是个瞎子,但现在有了这个API,你可以不用刷新页面就能让地址栏跟着变,找回之前看过的东西也方便多了!
原来用那个叫HistoryAPI的东西可以搞定SEO优化!以前搜索引擎搞不定那些动态加载的内容,但现在这个神奇的API让搜索引擎一下子就懂了,这样一来,咱们的单页APP就会更好找、更吸引人!
return !!(window.history && history.pushState);
HistoryAPI在各主流浏览器的支持情况
现在的浏览器都挺好使的,试试下面那个链接,看看是不是真的那么神奇。它还能告诉你哪些浏览器能用。想知道某个测试API支不支持?跟着我说的步骤来就行了!
如果你是用的现代浏览器,可以用下面的代码:
if (Modernizr.history) { // History API Supported }
快换个好点的浏览器~要是用现在这个不太给力的话,就试试history.js呗!保证在任何浏览器下,咱的单页应用都不会卡顿喔~
HistoryAPI的事件处理
哈喽,跟你们说一下!那个HistoryAPI很有用。你是不是觉得浏览器里面的网页历史记录多了找起来麻烦?就像是玩弹珠游戏一样需要不断地翻页。其实不用担心这个问题,不论是你点后退、用导航栏或是手动输入“history.go”或者“history.back”,浏览器都会诱发一个叫“popstate”的事件。但是要记住WebKit浏览器只会等到整张页面都加载出来之后再响应popstate事件;而火狐和IE就没有这个限制。
这一改,咱们的单页面应用就好用多!用起来得心应手,翻页一定很流畅哟~
HistoryAPI与散列值的对比
以前要换网页颜色只能数字,特别是重要的地方。现在就不同了,有个叫历史API的东西,换得超方便!
HistoryAPI的实际应用案例
啥叫历史API呀?说白了就是做时髦的单页应用的法宝,像网页一样随时能看到不同内容,坐等自动更新条目,想去哪儿就能去哪儿,有没有觉得特方便!
借助这API,咱们就能做个搜引擎迅速能发现的一页应用,而且SEO也得靠它~
总结与展望
跟大家说个事,HTML5的HistoryAPI真的太牛了!之前搞网页记录那叫一个费劲,但这个API一出,我们就能轻松地管理浏览记录,做起单页应用来也更加得心应手。而且,还可能提升网站排名!我觉得用不了多久,肯定会有越来越多的项目开始使用这东西,让前端工作变得既简单又有趣!
大家好呀~有没有用过HTML5的那个什么HISTORYAPI来做单页应用?想要了解怎么让它变得更好玩吗?快来积极分享,别忘了给个赞!
Click on Links above to see history API usage usingpushState
method.Home!
Lorem Ipsum is simply dummy text of the printing and typesetting industry.
评论0