我使用 iframe 在我的应用程序中显示外部 url,但如果互联网或网站不再可用,我想显示一条错误消息。在我的代码中,我使用的是 deviceready/resume/online/offline 事件。但是我的问题是 deviceready 事件似乎触发并调用了我定义的其他方法,但其他事件似乎没有触发(工作)。因此,如果互联网或网站突然不再可用,则 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 上都遇到了同样的问题
多年来,这一直让我发疯,因为一个活动正在发挥作用,我原以为其他活动也应该发挥作用。我非常感谢您可能获得的任何帮助/建议。