HTML5、Javascript、jQuery Mobile、およびオフラインストレージを使用してモバイルアプリを開発しています。
モバイルアプリケーション(同じドメイン上)にJSONオブジェクトの配列を提供するwepアプリケーションがあります。それは、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()までです。それ以上はありません。
"NETWORK:" マニフェストファイル内の下*追加
ビリー
感謝
ここで '=='が欠けていましたか? 'navigator.onLine = true'ですか? –
また、おそらくhttps://github.com/jquery/jquery-mobile/issues/1579のコメントのいくつかの関連情報 –
こんにちはKevin、私はそれを投稿した後にそれを変更しても問題を解決しなかったことを認識しました。しかし、ありがとう – iamjonesy