簡體   English   中英

對不更改URL哈希值的頁面加載啟用瀏覽器的后向/前向導航

[英]Enabling browser back/front navigation for page loads that don't change URL hash

我有一個Ajax站點,如果導航導致URL哈希值發生變化,我會將瀏覽器導航鏈接到ajax頁面加載。

我想知道獲取導航歷史記錄的最佳方法是對不導致哈希值更改的ajax加載。

因此,假設我有“第1級”鏈接,該鏈接在單擊后會導致URL哈希更改。 諸如jquery history插件之類的東西可以接管並調用我的處理程序,並且前向/后向導航對於這些“級別1”鏈接均適用。

但是我有一組“ 2級”鏈接,這些鏈接使用“單擊”處理程序(內部執行一些Ajax提取)來獲取數據,而不是使用URL哈希+歷史記錄插件路由。 這些目前不會導致更改URL /哈希值。 我希望這些“第2級”鏈接啟用瀏覽器導航。

為了使此操作順利進行,我必須更改URL,所以我的猜測是這里的任何解決方案都涉及裝飾哈希。 一種可能有效但我從未認真考慮過的解決方案是,將希望執行的JS函數名稱編碼,並將參數以某種方式編碼到URL哈希中,然后讓我的歷史記錄加載處理程序調用該函數。 布萊什!

有人對我該如何做有聰明的主意嗎?

嗯...也許您正在尋找jQuery BBQ插件

我為一個項目所做的一件事是使用像這樣的哈希值:

IDProduct-8185--tab-tech--g-8184

這意味着有3個參數:IDProduct = 8185,tab =“ tech”,g =8184。然后,我用“-” split並遍歷結果數組。 可能不是最優雅的解決方案,並且僅適用於非常簡單的參數值。 最好看看Sean首先建議的BBQ插件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM