【问题标题】:How to close phonegap/cordova InAppBrowser without using the close button如何在不使用关闭按钮的情况下关闭 phonegap/cordova InAppBrowser
【发布时间】:2019-10-08 17:33:23
【问题描述】:

在我的 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) 来自被调用页面的哑 window.Close()

我的尝试都没有成功。

【问题讨论】:

    标签: cordova phonegap mobile-application inappbrowser


    【解决方案1】:

    要自行关闭 InAppBrowser 窗口,您可以使用loadstartmessage 事件侦听器。请注意,后者需要 cordova-plugin-inappbrowser 3.1.0-dev 才能工作。

    在此处查看详细信息和完整示例: How to close InAppBrowser window in Cordova by itself

    我建议使用loadstart 方法并简单地检查加载的 URL,这适用于稳定插件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-11-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多