2013-02-06 96 views
4

我有一個包含一系列表單的應用程序,每個表單都在其自己的頁面上。jquery-mobile:如何不添加頁面到歷史堆棧

我不想將這些頁面中的一些添加到歷史堆棧中。所以當用戶按下時,它會跳過它們。

Jquery-mobile使用對話框完成此操作。您可以將其配置爲與所有頁面(或任何其他數據角色)配合使用,但不能僅與某些頁面配合使用。

有誰知道如何做到這一點?或者,是否有可能創建一個擴展「頁面」的新數據角色。如果這是可能的,那麼我可以禁用所有這些頁面的歷史記錄。

回答

5

,你可以自己打電話$.mobile.changePage()

$.mobile.changePage("url", { 
changeHash: false //do not track it in history 
}); 

http://jquerymobile.com/demos/1.2.0/docs/pages/page-navmodel.html http://jquerymobile.com/demos/1.2.0/docs/api/methods.html

+0

太謝謝你了。這一直使我瘋狂。 。 – ddouglascarr

+2

注:爲1.4.0 changePage現在已經過時,你需要使用它代替:'$( 「身體」)pagecontainer( 「變」, 「URL」,{changeHash:假});' –

1

我面臨着同樣的問題,我抓狂!最後,我可以用下面的代碼來做到這一點!

下面的代碼會自動阻止存儲當前文檔中所有頁面的已更改位置。

請注意,它已經與JQM測試1.4.2

<script> 
    $(document).on("pagebeforetransition",function(event, ui){ 
     ui.options.changeHash = false; 
    }) ; 
</script> 

希望它可以幫助

+0

這個解決方案破陣對話流程。在關閉後從頁面B打開的對話打開頁面A而不是B. – yurin