我使用iframe在我的应用中显示外部网址,但如果互联网或网站不再可用,我想显示错误消息。在我的代码中,我正在使用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上都遇到了同样的问题
这让我疯了很多年,因为有一个事件正在发挥作用,我本以为其他事件也应该有效。 我非常感谢您提供的任何帮助/建议。