如何在不使用关闭按钮的情况下关闭phonegap/cordova InAppBrowser

n3ipq98p  于 2022-11-15  发布在  其他
关注(0)|答案(1)|浏览(179)

在我的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()从被调用的页面
我的尝试都没有成功。

r7xajy2e

r7xajy2e1#

要自行关闭InAppBrowser窗口,可以使用loadstartmessage事件侦听器。
点击此处查看详细信息和完整示例:How to close InAppBrowser window in Cordova by itself

相关问题