您好,登錄后才能下訂單哦!
這篇文章主要介紹如何解決預加載InstantClick的問題,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
在改造的時候代碼高亮沒法執行,準確的說是只執行一次,第二次就不執行了。所以發文說明一下,而且大致看了InstantClick的文檔,主要還是一個黑名單區域的問題。按我個人的理解,黑名單主要包含兩種比較常見的過濾類型,一種是a標簽,另一種是js。根據其原理實際上就是對黑名單區域不進行處理(按正常手動打開的情況加載刷新),這種不處理才能讓相關的結構和js起作用。。
所以在InstantClick執行時,看它的引用語句:
<script type="text/javascript" src="<?php bloginfo('template_directory'); ?>/js/instantclick.min.js" data-no-instant></script> <script data-no-instant>InstantClick.init();</script>
語句作用就過濾掉了InstantClick它本身,相當于在執行后正常刷新一遍自己。
正常加載刷新js
語句本身的data-no-instant參數意思就是不處理,并且正常刷新這部分結構。所以如果要其他js在InstantClick下起作用,必須將js本身刷新,可以把代碼寫入instantclick.min.js里面,也可以帶上data-no-instant參數獨立引用。如果不將自己的js寫入instantclick.min.js內,就要利用它的四個參數來重新載入,參考:http://instantclick.io/scripts
<script data-no-instant> InstantClick.on('change', function() { // 回調 }); InstantClick.init(); </script>
a標簽
InstantClick對新窗口打開的a標簽是不處理的,還有在帶有data-no-instant參數的標簽包裹下的a標簽也不會處理。如<div data-no-instant>這部分會按正常情況刷新</div>。
最后總結:data-no-instant
屬性是用來避免instantclick在頁面切換時對該元素重復加載(意思就是按正常刷新)。它可以用在script、style標簽中,也能放在a標簽中,表示該鏈接將使用正常方式打開而不用instantclick加速,但對于div標簽是沒有用的,這一點必須知曉。
搞清楚上面兩點就好辦了,之前把它當成是ajax來理解,是整個body請求過來。也就是說把不處理的部分放在body標簽之外也是可以的。
值得一提的是,我個人還是很中意它緩存后退前進的功能的,這樣非常快。
以上是“如何解決預加載InstantClick的問題”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。