Jquery Mobile .load()不能从应用程序缓存中检索内容



我有一个使用缓存的应用程序。manifest来本地缓存HTML内容。当我使用Jquery .load()检索此内容时,内容不会从应用程序缓存中检索,如果设备脱机,则调用失败。

缓存中指定的文件。舱单正在装载,当我装载到现场时,我可以在查尔斯身上看到。

离线时,我可以在浏览器中输入缓存的文件URL,它显示它很好,只是不使用。load(),所以我确信缓存。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");

任何帮助都是感激的。

我能让它工作这样做(相当混乱):

在我的应用程序中,我创建了一个隐藏的iFrame:
<div style="display:none;">         
<iframe id="dummyContent"></iframe>
</div>

为这个iFrame设置一个监听器,读取BODY并在它加载时插入到我的display元素中:

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

为内容检索按钮设置一个click处理程序,将iFrame的src设置为my content:按预期从应用程序缓存加载。

$("#questionButton").click(function(ev) {
     $("#dummyContent").attr("src","/m2/docs/e5a133db912860d8ec124cce9caa78d1/M97X01.htm");
});
如果有人有不同的方法,也许不使用iFrame,我会很感激。这个解决方案就是使用表格来对齐页面内容…

最新更新