window.close等效于Phonegap与InAppBrowser

时间:2013-03-03 22:40:40

标签: javascript android cordova

我用window.open("apphelp.html", "_blank", "location=no")打开一个新页面,因此它向我显示了一个带有我页面的新窗口。在本页的最后,我想放一个“关闭按钮”,这样用户就可以回到他来自的地方。我尝试使用window.close(),但它没有用。任何消化?

2 个答案:

答案 0 :(得分:44)

我使用了解决方法...... 由于inAppBrowser只能通过后退按钮或通过javascript关闭。我在服务器端显示一个关闭按钮,该按钮将更改当前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();
    }
});

答案 1 :(得分:4)

我转换为这样的多平台支持:

在第三页html和js

InstallFont

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

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



<a href="javascript:;" onclick="closeBrowser()">Close</a>
谢谢一楼!