2013-05-16 38 views
0

我正在開發一個網站,其中的主要內容是由jquery ajax根據選定的菜單項加載。重新載入瀏覽器後退按鈕的點擊事件上的鏈接?

上選擇任意一個菜單項,網址,以獲取根據這種模式改變:

http://host/domain/index.php?pageid=page 

這裏是頁指的是我想用ajax加載到主要內容頁面。

現在在這種情況下,我想重裝前一頁,如果用戶點擊瀏覽器的後退按鈕。

誰能幫助我走出我怎麼能做到這一點?

+0

你如何改變網址?使用內置的history.pushState或有一些插件? –

+0

網址實際上在瀏覽器中更改?如果沒有,那麼我懷疑你可以做任何事情。 AJAX的一個不好之處就是你不能回頭,因爲你沒有從字面上改變頁面。 – JorgeeFG

+0

@FAngel:不...我不使用歷史。每當用戶點擊菜單項,使用href我打電話在其中我傳遞查詢字符串中的頁面參數的url,然後我獲取此參數和基於調用特定頁面的參數 –

回答

0

如果不更改URL,那麼恐怕是不可能的。

假設你最好嘗試使用window.history當用戶單擊後退按鈕提供onpopstate事件。但您需要使用history.pushState/history.replaceState函數修改瀏覽器中的網址。可能的話,您可以將相同的網址添加到歷史記錄中,因此它不會在視覺上更改。然後從您的自定義歷史數組中取出以前的網址。但不知道如果你把相同的URL與pushState

但是,這隻有在現代瀏覽器的工作popstate會工作。爲了使它在所有的瀏覽器,你最好使用一些歷史插件(例如this),這也將處理IE使用#標籤

相關問題