2012-05-21 29 views
2

我正試圖在PhoneGap DocumentationOverride Android Backbutton behavior only works on the first page with PhoneGap的幫助下使用後退按鈕。「[undefined]不是函數」在處理PhoneGap中的回退事件時

我的代碼:

<script> 
document.addEventListener("deviceready", onDeviceReady, false); 
    function onDeviceReady() { 
    alert("df"); 
     console.log("PhoneGap Ready!"); 
     document.addEventListener("backbutton", handleBackButton, false); 
    } 

    function handleBackButton() { 
     console.log("Back Button Pressed!"); 
     alert("df"); 

    } 
</script> 

但我得到這個錯誤:

05-21 16:00:03.248: E/Web Console(1615): TypeError: Result of expression 'PhoneGap.fireDocumentEvent' [undefined] is not a function. at undefined:1

+0

不知道這是否是同樣的問題,但我解決了我的後退按鈕處理問題的活動類中重寫onBackPressed: @Override 公共無效onBackPressed(){ 回報; } – davids

+0

我試過這也是由http://stackoverflow.com/questions/10382634/how-to-prevent-android-from-closing-web-application-when-backbutton-is-pressed link.no聲音 – user1324068

+0

好的,這個答案有點愚蠢,但只是爲了確認,你有沒有鏈接正確的cordova-x.js?我的意思是,你沒有附加iOS,Blackberry等的js,是嗎? – davids

回答

3

檢查要鏈接正確的PhoneGap-x.js爲平臺,JavaScript代碼的Android不同,iOS等。

當在Android中按下後退按鈕時,會觸發事件'backbutton',因此如果您想要返回導航歷史記錄,則應該執行的操作是將fo llowing處理它:

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

@ davidThank你我試過這段代碼,但它沒有去上一頁。 – user1324068

+0

嘗試用'window.history.back()'代替'navigator.app.backHistory()'。我真的鼓勵你升級你的phonegap版本,雖然 – davids

+0

函數onDeviceReady(){ console.log(「PhoneGap Ready!」); (); window.history.back(); },false);函數(e){0;}; } – user1324068

相關問題