2013-03-28 74 views
1

我有一個應用程序使用cache.manifest在本地緩存HTML內容。當我使用Jquery .load()檢索這些內容時,不會從應用程序緩存中檢索內容,如果設備處於脫機狀態,則調用將失敗。Jquery Mobile .load()不從應用程序緩存檢索內容

cache.manifest中指定的文件正在加載,我可以看到,當我在網站中加載的查爾斯。

當離線時,我可以在瀏覽器中輸入緩存的文件URL,它顯示它很好,只是沒有使用.load(),所以我確信cache.manifest正在加載所有東西。

我的問題是,如何使用jquery或純JS加載HTML頁面,並確保它在設備處於脫機狀態時使用應用程序緩存?

CACHE MANIFEST 
/m2/docs/e5a133db912860d8ec124cce9caa78d1/Q00X03.htm 
/m2/docs/e5a133db912860d8ec124cce9caa78d1/M00X03.htm 
/m2/docs/e5a133db912860d8ec124cce9caa78d1/Q97X01.htm 
/m2/docs/e5a133db912860d8ec124cce9caa78d1/M97X01.htm 
/m2/style.css 
/m2/docs/e5a133db912860d8ec124cce9caa78d1/index.htm 
/m2/docs/e5a133db912860d8ec124cce9caa78d1/doc.json 

然後調用這樣的:

$("#docu").load("/m2/docs/e5a133db912860d8ec124cce9caa78d1/M97X01.htm"); 

任何幫助表示讚賞。

+0

這不可能是那麼模糊。任何人? – 2013-03-28 09:05:39

回答

1

我能得到它的工作這樣做(相當混亂):

在我的應用我做了一個隱藏的iFrame:

<div style="display:none;">   
<iframe id="dummyContent"></iframe> 
</div> 

安裝此iFrame的偵聽器讀出身體,將其插入我的顯示元素隨時加載:

$("#dummyContent").load(function(){ 
    var $con = $("#dummyContent").contents().find("body"); 
    $("#docu").html($con); // docu is my display div 
}); 

設置內容檢索按鈕單擊處理程序的IFRAME的src設置爲我的內容: 按預期方式從應用程序緩存加載此應用程序。

$("#questionButton").click(function(ev) { 
    $("#dummyContent").attr("src","/m2/docs/e5a133db912860d8ec124cce9caa78d1/M97X01.htm"); 
}); 

我將不勝感激,如果任何人有不同的方法,也許不是使用iframe。這個解決方案是正確的使用表來對齊頁面內容...

+1

在這裏,我再次,自言自語...... – 2013-03-28 15:56:01