我有一個隱藏標籤的列表。我嘗試使用jquery移動文檔中描述的data-prefetch屬性。唯一的問題是它一次性觸發了所有這些頁面的ajax請求,並且他們無法下載它們的訂單。按順序jQuery Mobile緩存頁面
該順序對於下一個頁面通過刷卡顯示非常重要。
所以我決定嘗試通過這段代碼以編程方式緩存鏈接。
var last_cache_page = false;
function cache_next_page(){
if(last_cache_page == false){
var cache_link = $('.cache').first();
last_cache_page = cache_link;
}
else{
var cache_link = last_cache_page.nextAll('.cache');
last_cache_page = cache_link;
}
//Start Caching any other pages that we want to swip to
$.mobile.loadPage(cache_link.attr('href'), {showLoadMsg: false});
}
所以上的$(document)。在( 'pageshow')我叫cache_next_page()。這部分工作正常,真正的問題是,使用$ .mobile.loadPage時,一旦第一個緩存頁面對dom感興趣,就不會啓動與jquery移動頁面相關的事件。
我已經嘗試過pageshow,pageinit和pageload,但它們只在第一次加載頁面時觸發。現在,如果我加載直接啓動緩存的第一頁。也就是說,在訪問應用程序中的任何其他頁面時,它會觸發所有預期的事件,例如頁面加載。
只有當您在page_1上啓動,然後轉到page_2(具有啓動緩存的代碼)時,它將無法在將緩存頁面插入到dom時觸發頁面加載事件。