17

で新しいページを開くとwindow.open("apphelp.html", "_blank", "location=no")、新しいウィンドウに自分のページが表示されます。このページの最後に、ユーザーが元の場所に戻れるように「閉じるボタン」を配置したいと思います。私はそれを試しましたwindow.close()が、うまくいきませんでした。助言がありますか?

4

2 に答える 2

46

私は回避策を使用します... inAppBrowserは戻るボタンまたはjavascriptでしか閉じることができないためです。サーバーサイドから閉じるボタンを表示します。これにより、現在の url の起動が変更され、イベント 'loadstop' が .close() メソッドを使用できるようになります。このようにして、子ブラウザーのみが閉じられ、アプリは同じ状態のままになります。

たとえば、私のサーバーは次のような閉じるボタンのある Web ページを表示します。

<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>

3ページ目に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();
     }
 }); 

1階ありがとう!

于 2016-05-10T03:27:03.650 に答える