アプリで外部 URL を表示するために iframe を使用していますが、インターネットまたは Web サイトが利用できなくなった場合、エラー メッセージを表示したいと考えています。私のコードでは、deviceready/resume/online/offline イベントを使用しています。ただし、私の問題は、deviceready イベントが発生し、定義した他のメソッドを呼び出すように見えますが、他のイベントが発生していないように見えることです (機能しています)。したがって、インターネットまたは Web サイトが突然利用できなくなった場合、iframe は更新されず、同じページ/画像にとどまります。ユーザーの観点からは、何が起こっているのかわかりません。
以下は私のコードの一部です:
<script type="text/javascript" charset="utf-8" src="cordova-1.6.0.js"></script>
<script type="text/javascript" charset="utf-8">
function onload()
{
document.addEventListener("deviceready", onDeviceReady, false);
}
function onDeviceReady()
{
document.addEventListener("pause", onPause, false);
document.addEventListener("resume", onResume, false);
document.addEventListener("offline", onoffline, false);
document.addEventListener("online", onOnline, false);
checkUrl();
}
function onPause() {
//code for the pause function
}
function onResume()
{
checkUrl();
}
function onoffline()
{
//display error message
}
function onOnline()
{
checkUrl();
}
function checkUrl()
{
//code to check the url is valid
alert("checkur");
}
function onerror()
{
//display error message
}
</script>
</head>
<body onload="onload()">
<div id="divFrameHolder" style="visibility:hidden;" scroll="no">
<iframe allowtransparency src="http://www.XXXXX.com" id="iframe"width="100%" height="100%" scrolling="no" frameborder="0" onerror="onerror();" style="text-align:center;" >
</iframe>
</div>
</body>
cordova-1.6.0 を使用すると、Android と iPhone の両方で同じ問題が発生します
あるイベントが機能しているので、他のイベントも機能するはずだと思っていたので、これは何年もの間私を怒らせてきました。ヘルプ/アドバイスをいただければ幸いです。