在我的phonegap应用中,我使用InAppBrowser打开一个外部链接(它可以正常工作),
cordova.InAppBrowser.open(completeUrl, '_blank', 'location=yes');
当用户执行某些操作时,我需要关闭打开的链接。我知道我可以用
关闭它var b = cordova.InAppBrowser.open(completeUrl, '_blank', 'location=yes');
b.Close();
但是这是在我的应用程序端,我需要在外部链接端类似的东西。例如,是否可以在外部链接端具有实例引用?我认为不,对吧?
对于“ location = yes”,我在顶部有一个舒适的关闭按钮,所以这可以解决,但我想在用户完成使用外部链接时关闭它,而无需使用本机关闭按钮
有可能吗?
更新 我尝试了什么? 1)来自window.close equivalent in Phonegap with InAppBrowser 例如,我的服务器显示一个带有关闭按钮的网页,如下所示:
<a href="/mobile/close">Close</a>
在我的客户端javascript(Phonegap应用)中:
var ref = window.open(encodeURI(url), '_blank', options);
ref.addEventListener('loadstop', function(event) {
if (event.url.match("mobile/close")) {
ref.close();
}
});
2)来自https://stackoverflow.com/a/50047473/819161
var win=window.open( "myurl", "_blank");
win.addEventListener( "loadstop", function(){
var loop = window.setInterval(function(){
win.executeScript({
code: "window.shouldClose"
},
function(values){
if(values[0]){
win.close();
window.clearInterval(loop);
}
}
);
},100);
});
在您调用的窗口中,只需执行以下操作:
window.shouldClose=true
当您要关闭它
3)哑窗口。从被叫页面关闭()
我的尝试均无济于事。
答案 0 :(得分:0)
为了单独关闭InAppBrowser窗口,可以使用loadstart
或message
事件侦听器。请注意,后者需要cordova-plugin-inappbrowser 3.1.0-dev 起作用。
在此处查看详细信息和完整示例: How to close InAppBrowser window in Cordova by itself
我建议使用loadstart
方法,只需检查加载的URL,即可与稳定的插件一起使用。