17

我打开一个新页面window.open("apphelp.html", "_blank", "location=no"),然后它向我显示一个带有我的页面的新窗口。在这个页面的最后,我想放一个“关闭按钮”,这样用户就可以回到他们来自的地方。我试过了,window.close()但没有用。有什么建议么?

4

2 回答 2

46

我使用了一种解决方法......因为只能使用后退按钮或通过 javascript 来关闭 inAppBrowser。我从服务器端显示一个关闭按钮,该按钮将更改当前的 url 触发以及事件 'loadstop' 让使用 .close() 方法,这样只有子浏览器将被关闭,您的应用程序将保持在相同的状态。

例如,我的服务器显示一个带有关闭按钮的网页,如下所示:

<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();
    }
});
于 2013-04-12T22:39:32.863 回答
6

我这样转换为多平台支持:</p>

在第三页html和js

closeBrowser(){
    if(history.length==1){
        window.open('mobile/close');
    }else{
        history.back();
    }
}



<a href="javascript:;" onclick="closeBrowser()">Close</a>

在我的客户端 javascript(Phonegap 应用程序)中:

var ref = window.open(encodeURI(url), '_blank','location=no');
 ref.addEventListener('loadstart', function(event) {
     if (event.url.match("mobile/close")) {
         ref.close();
     }
 }); 

谢谢一楼!

于 2016-05-10T03:27:03.650 回答