觸屏版
全國服務(wù)熱線:0571-87205688
登錄
注冊(cè)
客戶中心
關(guān)注云客
chrome瀏覽器為什么比一般的瀏覽器快呢?原因是chrome瀏覽器給全部頁面都弄了預(yù)加載功能。
目前可能還是有少部分人在使用的,就是InstantClick,它相當(dāng)于一個(gè)JS庫,運(yùn)行的原理類似“預(yù)加載”
利用mouseover()、mousedown()、mouseout()執(zhí)行整個(gè)過程,運(yùn)行原理:當(dāng)鼠標(biāo)移到鏈接上時(shí),就已經(jīng)開始加載頁面了,從鼠標(biāo)懸停該鏈接到點(diǎn)擊鏈接這中間有那么幾百毫秒的間隔,此時(shí)頁面已經(jīng)加載得差不多,那么在真正打開頁面時(shí)就等于直接顯示,速度會(huì)非???。所以這不單純是Ajax,而是 pushState+Ajax ,即是PJAX,類似于整個(gè)頁面的Ajax(和真實(shí)的Ajax有區(qū)別)。
下載本文附件將里面的兩個(gè)js放在主題目錄的js文件夾,之后可以在footer.php在</body>標(biāo)簽之前引用,引用代碼:
<script type=”text/javascript” src=”<?php bloginfo(‘template_directory’); ?>/js/instantclick.min.js” data-no-instant>
</script>
<script data-no-instant>
InstantClick.init();
</script>
然后就大功告成了,點(diǎn)擊打開頁面,你會(huì)發(fā)現(xiàn)頂部還有一個(gè)加載進(jìn)度條,可以通過CSS來修改其樣式。
這個(gè)效果有時(shí)會(huì)與一些Ajax效果沖突,比如評(píng)論Ajax,因?yàn)镮nstantClick是針對(duì)body的,當(dāng)然評(píng)論模板會(huì)包含在內(nèi),所以當(dāng)你不希望某一區(qū)域使用InstantClick效果時(shí),可以用<div data-no-instant>和</div> 這個(gè)聲明來包含該區(qū)域,在data-no-instant區(qū)域內(nèi)的點(diǎn)擊事件就都不會(huì)觸發(fā)預(yù)加載,如此一來就可以做到比較好的兼容效果了。
評(píng)論(0人參與,0條評(píng)論)
發(fā)布評(píng)論
最新評(píng)論