0

我正在使用 HTML5、Javascript、jQuery Mobile 和离线存储开发一个移动应用程序。

我有一个 wep 应用程序,它为移动应用程序(在同一个域上)提供一组 JSON 对象。它获取 JSON 对象,将它们存储在 websql 数据库中,然后用它们创建一个可以单击的无序列表...

这个想法是,当设备处于离线模式时,我将从离线数据库中提取数据并绕过从 Web 应用程序获取 JSON,然后当设备下一次在线时,它可以获得数据的新副本。

我已经到了创建 cache.manifest 文件的部分。基本上它看起来像这样:

CACHE MANIFEST

CACHE:
index.html
app.html

NETWORK:
http://code.jquery.com/mobile/1.0a1/jquery.mobile-1.0a1.min.js
http://code.jquery.com/mobile/1.0a1/jquery.mobile-1.0a1.min.css
http://code.jquery.com/jquery-1.4.3.min.js
js/data.js
js/script.js

但是,一旦我添加

<html  manifest="cache.manifest">

并重新加载我的 $.getJSON 停止的页面(可以在 data.js 中找到)。该文件中的其他 JS 代码似乎执行但该功能。

这是在加载时执行的函数:

function getAppointments(){
// Update appointments ONLY when online
if(navigator.onLine = true){
    console.log('Application Online.')

    // create appointments table
    createAppTable();
    $.getJSON("http://site.com/OptiQuoteApp/index.php/appointments/download/", function(data) {
        $.each(data,function()
        {
            // Save appointments in database
            updateAppointments(this.quote_id, this.start_date, this.reference, this.first_name+' '+this.last_name, this.comment);
        });
         getAppointmentsList();
    });
}else{
    console.log('Application Offline.')

}
getAppointmentsList();

}

笔记。我知道它说 site.com(为了安全......)

该脚本一直到 createAppTable(); 然后没有了。

有人知道吗?

比利

非常感激

4

1 回答 1

3

Try adding * under "NETWORK:" in your manifest file. That way anything not specifically cached will get pulled from your site.

NETWORK:
http://code.jquery.com/mobile/1.0a1/jquery.mobile-1.0a1.min.js
http://code.jquery.com/mobile/1.0a1/jquery.mobile-1.0a1.min.css
http://code.jquery.com/jquery-1.4.3.min.js
js/data.js
js/script.js
*
于 2011-07-18T16:56:56.580 回答