2016-06-01 13 views
0

この質問は既に何度か提起されました。しかし、私はまだそれを解決する方法がわからないまま問題に苦労しています。Phonegap Androidの戻るボタンがinAppBrowserを閉じます

私の非常に原始的アプリコード:

<!DOCTYPE html> 
<html> 
<head> 
<title>Standalone Example</title> 

<script type="text/javascript" charset="utf-8" src="cordova.js"></script> 
<script type="text/javascript" charset="utf-8"> 
document.addEventListener("deviceready", onDeviceReady, false); 
var iabRef = null; 

function onDeviceReady() { 
    iabRef = window.open('http://example.com', '_blank', 'location=no', 'zoom=no', 'hardwareback=yes'); 
    iabRef.addEventListener('exit', iabClose); 
} 

function iabClose(event) { 
iabRef.removeEventListener('exit', iabClose); 
} 
</script> 
</head> 
<body> 
</body> 
</html> 

は、PhoneGapのフォーラムに私はAndroidのハードウェア戻るボタンの機能がデフォルトで追加されたことを読みました。しかし、それはまだ私のためには機能しません。

希望の動作:ページ上の複数のリンクをナビゲートし、過去のページをタップして、履歴に従って表示します。

実際の動作:いくつかのリンクをナビゲートしてinAppBrowserが閉じられたバックをタップした後、私が代わりに前のページの白い画面を参照してください。

ご覧のとおり、hardwarebackプロパティも追加されていますが、運がありません。また、私は、TIがonDeviceReady関数内のコードを入れてボタンの動作をバックハイジャックしようとした:

document.addEventListener("backbutton", function(e){ 
    e.preventDefault(); 
    navigator.app.backHistory() 
}, false); 

そして再び運。いくつかの異なるデバイスで試してみました。私は行方不明の非常に簡単なことがあると思う。何か案は?

重要な場合は、build.phonegap.comでアプリを構築します。

+0

['inAppBrowserRef.executeScript({code:scriptErrorMesssage})]]を使用して、[' window.history.back() '](http://www.w3schools.com/jsref/met_his_back.asp) (https://github.com/apache/cordova-plugin-inappbrowser#inappbrowserexecutescript)? – daserge

+0

@daserge、 'バックボタン'イベントリスナーを意味しますか?もしそうなら、私はちょうどもう運がなかった。 – Denis

答えて

0

問題は、私は間違った方法でIABと呼ばれ、それが

iabRef = cordova.InAppBrowser.open('http://apache.org', '_blank', 'location=yes'); 

また、私はIABのプラグインのためにNPMにソースを指定しているはずであるべきということでした。この仕様がないと、PGBはdeprecated repoの古いバージョンを使用します。

関連する問題