在我的phonegap应用程序中,我使用InAppBrowser打开一个外部链接(它可以正常工作),其中包含:
cordova.InAppBrowser.open(completeUrl, '_blank', 'location=yes');
我需要在用户执行某个操作时关闭打开的链接。我知道我可以用
var b = cordova.InAppBrowser.open(completeUrl, '_blank', 'location=yes');
b.Close();
但这是在我的应用程序端,我需要类似的东西在外部链接端。例如,有没有可能有示例引用在外部链接端?我认为没有,对不对?
对于“location=yes”,我在顶部有一个舒适的关闭按钮,所以这可能是一个解决方案,但我希望在用户使用完外部链接时关闭它,而不使用本机的关闭按钮。
这可能吗?
更新我尝试了什么?1)From window.close在Phonegap和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)一个哑窗口.Close()从被调用的页面
我的尝试都没有成功。
1条答案
按热度按时间r7xajy2e1#
要自行关闭InAppBrowser窗口,可以使用
loadstart
或message
事件侦听器。点击此处查看详细信息和完整示例:How to close InAppBrowser window in Cordova by itself