2013-10-03 92 views
1

我使用phonegap 3.0/android與inappbrowser插件。當我按下返回按鈕時,顯示屏 進入灰色背景頁面(可能是加載瀏覽器之前的頁面)。 我試圖捕捉backbutton事件。奇怪的是,我相信第一個事件並沒有被發現。我得到第二次,等等(我看到了警報),但似乎已經太晚了。 我需要按鈕以默認方式運行..一次在瀏覽器中返回一頁。phonegap 3 android backbutton not working

這裏是腳本的相關部分:

function bButton() { 
    alert('back pressed'); 
} 

function deviceReady() { 
    document.addEventListener("backbutton", bButton, true); 
    var ref = window.open('http://apache.org', '_blank', 'location=no'); 
} 

document.addEventListener('deviceready', function() { deviceReady(); }, 
          false); 

任何幫助表示讚賞..

回答

0
var ref; 
function bButton() { 
    ref.close(); 
    alert('back pressed'); 
} 
function deviceReady() { 
    document.addEventListener("backbutton", bButton, true); 
    ref = window.open('http://apache.org', '_blank', 'location=no'); 
} 
+0

不幸的是,沒有什麼區別。 – srvy

3

只需添加到您的config.xml:

<feature name="App"> 
    <param name="android-package" value="org.apache.cordova.App" /> 
</feature> 
+0

這似乎是3. *的問題。我使用3.1,但我不得不手動添加此映射。如果有人知道這個git repo鏈接,這將有所幫助。或者可能是設備插件應該添加此映射並且不這樣做。 –

+0

我在cordova版本3.0上使用Icenium,並且爲我修復了這個問題。爲什麼我需要這樣做我不知道:/ –

0

不當然,如果這是你的問題,但我今天發現,如果你不小心將一個新聞事件綁定到你的inappbrowser launch bu你的後退按鈕可能不起作用。

$('#inappbrowser_button').bind('touchstart',function(){ 
    window.open('your_url','_blank'); 
}); 

與上述我的後退不起作用(在Android中)。這是直到我把它改成下面的後退按鈕再次開始工作:

$('#inappbrowser_button') 
.unbind('touchstart') 
.bind('touchstart',function(){ 
    window.open('your_url','_blank'); 
}); 

可能有更大的東西/在戲裏更重要的,但是這至少是我的問題了Android(inAppBrowser)後退按鈕不工作有時。