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