Android、BlackBerry、iphone、および Windows Phone 7 をサポートする電話ギャップ アプリケーションを開発しています。インターネット接続チェックは、Windows Phone 7 だけでは機能しません。プラットフォームごとに個別の cordova.js ファイルがあるため、これらのファイルを android、iphone などの対応する名前の異なるフォルダーに保持しています。アプリケーションが読み込まれるデバイスの種類に基づいて js ファイルを動的に読み込みます。アプリケーションはAndroidで実行されています。android/cordova.js を読み込んでいます。Windows Phoneを除くすべてのプラットフォームで問題なく動作しています。jsファイルを head タグに直接ロードすると、接続チェックが機能しますWindows Phone 7 では、js ファイルの動的なロードが機能していません。以下にコード スニペットを示します (ファイル パスは正しいです。確認済みです)。
<script type="text/javascript" charset="utf-8">
function test() {
$('head').append('<script type="text/javascript" src="' + filePath + '"' + '></' + 'script>');
}
test();
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady(){
offLineModeTest();
}
function offLineModeTest(){
try {
var networkState = navigator.network.connection.type;
if (Connection.NONE == networkState || Connection.UNKNOWN == networkState) {
//do something......
}
}catch(err){
}
}
</script>