【发布时间】:2017-06-09 08:13:14
【问题描述】:
我有一个带有窗口弹出的cordova(android)应用程序,使用window.open javascript在设备准备好时用cordova inAppBrowser覆盖,请参阅以下代码:
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
window.open = cordova.InAppBrowser.open;
}
然后我想设置一个事件,当用户按下手机后退按钮或按下“x”按钮关闭弹出窗口时,会弹出一个对话框并在关闭窗口弹出窗口之前询问“你确定吗?是/否”。代码如下所示:
var newwindow;
newwindow = window.open('something', '_self ', 'location=no');
newwindow.addEventListener('exit', function(event){ Exit() });
function Exit(){
navigator.notification.confirm(
'Are you sure?',
function(i){
if(i==2)
{
//exit the window popout
}
},
'App Name',
'Cancel,Exit'
);
但它没有按我的意愿工作,弹出窗口关闭然后对话框提示用户...如何显示对话框并决定是否关闭弹出窗口。
注意:抱歉语法不好,我尽力解释我的问题。
【问题讨论】:
-
inAppBrowser 关闭时会触发exit 事件,因此届时您无能为力
-
那么有没有办法处理这样的事件?
-
exit只是为了知道什么时候关闭的,不修改插件原生代码是无法阻止的。
-
我明白了,有没有这方面的指南?
-
据我所知,没有指南。在 Android Studio 中,您可以打开
yourProject/platforms/android文件夹并编辑InAppBrowser.java文件。也许插件创建指南会很有用cordova.apache.org/docs/en/latest/guide/hybrid/plugins/…
标签: javascript android cordova inappbrowser