首頁  >  文章  >  web前端  >  完美解決有關預先載入InstantClick的問題

完美解決有關預先載入InstantClick的問題

巴扎黑
巴扎黑原創
2017-09-13 09:32:111992瀏覽

這篇文章主要介紹了關於預載InstantClick的問題解決方法,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟著小編過來看看吧

昨晚在改造的時候程式碼高亮沒法執行,準確的說是只執行一次,第二次就不執行了。所以發文說明一下,而且大致看了InstantClick的文檔,主要還是一個黑名單區域的問題。依照我個人的理解,黑名單主要包含兩種比較常見的過濾類型,一種是a標籤,另一種是js。根據其原理實際上就是對黑名單區域不進行處理(按正常手動打開的情況加載刷新),這種不處理才能讓相關的結構和js起作用。 。

所以在InstantClick執行時,看它的引用語句:


<script type="text/javascript" src="<?php bloginfo(&#39;template_directory&#39;); ?>/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(&#39;change&#39;, function() {
// 回调
});
InstantClick.init();
</script>

a標籤

InstantClick對新視窗開啟的a標籤是不處理的,還有在具有data-no-instant參數的標籤包裹下的a標籤也不會處理。如8d81ca4b16c93367fc7a7a26af8a0e41這部分會依正常狀況刷新94b3e26ee717c64999d7867364b1b4a3。

最後總結:data-no-instant屬性是用來避免instantclick在頁面切換時對該元素重複載入(意思是按正常刷新)。它可以用在script、style標籤中,也能放在a標籤中,表示該連結將使用正常方式打開而不用instantclick加速,但對於p標籤是沒有用的,這一點必須知道。

搞清楚上面兩點就好辦了,之前把它當成是ajax來理解,是整個body請求過來。也就是說把不處理的部分放在body標籤之外也是可以的。

值得一提的是,我個人還是很中意它快取後退前進的功能的,這樣非常快。

以上是完美解決有關預先載入InstantClick的問題的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn