2013-03-03 6 views
14

新しいページをwindow.open("apphelp.html", "_blank", "location=no")で開くので、私のページに新しいウィンドウが表示されます。このページの最後に、「閉じるボタン」を置いておきたいので、ユーザーは彼がどこに来たかに戻ることができます。私はwindow.close()で試しましたが、うまくいきませんでした。どんな服薬?InboxBrowserでPhonegapに相当するwindow.close

+0

問題の解決策を見つけましたか、私は同じことに問題があります。 – SimonSays

+0

いいえ、明日もう一度お試しになります。 –

+1

私は、var ref = window.open(encodeURI(url)、 '_self'、 'location = no')でhref = "javascript:history.go(-1);を試して、ウィンドウを閉じてから私のアプリケーションのインデックスファイルは、私がそれを開いた場所からシャットダウンするだけではなく、もっとうまくいくでしょう。私は別のものが見つかるかどうかを確認します。 –

答えて

40

私は回避策を使用しています... inAppBrowserは、戻るボタンまたはトラフのjavascriptでのみ閉じることができます。私は現在のURLを変更するserversideから閉じるボタンを表示します。イベント 'loadstop'を.close()メソッドを使用させると、この方法では子ブラウザのみが閉じられ、アプリケーションは同じ状態のままです。例えば

私のサーバー表示閉じるボタンでWebページ、このような何か:私はマルチプラットフォーム用の変換

var ref = window.open(encodeURI(url), '_blank', options); 
ref.addEventListener('loadstop', function(event) {   
    if (event.url.match("mobile/close")) { 
     ref.close(); 
    } 
}); 
+0

私はこれを証明します週.... –

+0

かなりうまくいきました。ありがとうございます。 –

+0

サーバから返されたものを制御しないとどうなりますか? – Nilesh

5

:私のクライアント側のJavaScript(PhoneGapのアプリ)で

<a href="/mobile/close">Close</a> 

第3ページhtmlとjs

私のクライアント側のJavaScriptで

closeBrowser(){ if(history.length==1){ window.open('mobile/close'); }else{ history.back(); } } <a href="javascript:;" onclick="closeBrowser()">Close</a> 
(PhoneGapのアプリ):

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

おかげで一階!