如何解决科尔多瓦InAppBrowser弹出窗口在第一次时的行为有所不同
我正在使用带有InAppbrowser插件的Cordova。目的是从某些服务器加载一个临时窗口,由用户单击“ X”关闭。
我简化了此问题的代码。服务器html看起来像这样:
<!DOCTYPE html>
<html>
<head></head>
<body onload="window.popupStatus='loaded';">
<div onclick="window.popupStatus='closed';">X</div>
</body>
</html>
应用程序中相关的JavaScript函数如下所示:
function popup(url) {
var elapsed = 0;
var loadstopFired = false;
var win = cordova.InAppbrowser.open(url,"_blank","location=no");
setTimeout(function() {if (!loadstopFired) win.close();},2500);
win.addEventListener("loadstop",function() {
loadstopFired = true;
var loop = window.setInterval(function() {
elapsed += 200;
win.executeScript(
{code: "window.popupStatus"},function(values) {
if (values[0]=="closed")
{ win.close(); window.clearInterval(loop); }
else if ((values[0]!="loaded") && (elapsed>2500))
{ win.close(); window.clearInterval(loop); }
}
);
},200);
});
}
问题是:仅从第二次开始,此行为才正确。第一次(仅)它会在用户有机会单击“ X”之前自行关闭。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。