2012-11-16 130 views
0

在我的首頁上,我隱藏了一切,然後從服務器獲取消息。如果有消息顯示消息頁面。但是當我回去使用Android的後退按鈕時,應用程序結束(關閉),就好像我在首頁並點擊後退按鈕。爲什麼?Jquery/Mobile導航問題

這裏是我使用來顯示消息頁(從起始頁)的代碼:使用JQuery和PhoneGap的

$('#startpage').live('pageshow',function() 
{ 
    //Fetch message and in the ajax success handler: 
    $.mobile.changePage('pg/message/message.html',{transition: 'none'}); 
} 

I'm。

編輯:如果我嘗試打開「彈出」(JQM 1.2)也是相同的結果。它不能關閉。看起來這個彈出窗口是「首頁」。這怎麼可能?

+0

您正在使用jQuery Mobile嗎? – fusion27

+0

如果您在show startpage之前重定向,歷史記錄中的第一個頁面是message.html,那麼後退按鈕強制退出。 – Flatlineato

+0

@Flatlineato - 但是如何在不發生這種情況的情況下重定向到另一個頁面?另外...這不是在展示之前......這是在「pageshow」上。 – Juw

回答

2

Juw,PhoneGap的Event API爲您提供了一個鉤入Android用戶返回按鈕的鉤子。看看下面的代碼。如果用戶在<div data-role="page" id="loginpage">上並點擊後退按鈕,他將離開應用程序,否則,他會返回一頁。

document.addEventListener("backbutton", function (e) { 
    if ($.mobile.activePage.is('#loginpage')) { 
     e.preventDefault(); 
     navigator.app.exitApp(); 
    } else { 
     navigator.app.backHistory() 
    } 
}, false); 
+0

Thanx爲你的答案,但我希望不涉及PhoneGap API在我的應用程序,我只是使用PhoneGap的「Android容器」。用jQuery解決,應該是可以的 – Juw

+0

我同意你的看法,應該可以不用PG,如果你找到一種方法來用w/o PG做,我想看看你的解決方案 – fusion27

+0

現在我將解決它,只需要點擊一個按鈕,用戶如果想要查看消息就必須點擊按鈕,這是一個非常糟糕的解決方案,因爲該消息可以包含有關新版本的信息,但現在它會有直到我找到一個更好的方式來做到這一點。 – Juw