我有一個頁面上有很多動態生成的複選框。當用戶單擊這些複選框時,頁面上的許多內容會通過ajax動態更改。最終用戶抱怨說,點擊提交後點擊後退按鈕來改變某些內容,他們的選擇就會被吹走,他們必須重新做一遍。如何使瀏覽器返回按鈕通過AJAX調用返回?
我已經看到一些網站(Gmail,Facebook等)使用URL中的哈希符號來破解後退按鈕,以便它執行AJAX調用,而不是返回到前一個完整頁面請求。我想這樣做是爲了在頁面提交之前修改URL,以便點擊後退按鈕將加載他們以前選擇的字段。
例如:
在Gmail中,如果我查看我的收件箱,然後我的URL看起來是這樣的:https://mail.google.com/mail/?shva=1#inbox
然後如果我點擊「發送郵件」進行AJAX調用和我的網址修改爲看起來像這樣:https://mail.google.com/mail/?shva=1#sent
我真的很喜歡這種行爲,並且想要複製它。這是如何完成的?
不要你的鏈接實際上觸發任何JavaScript還是僅僅鏈接到的URL與適當的散列符號信息?
如何讀取JavaScript中的哈希符號信息?
這種類型的導航如何影響搜索引擎?搜索引擎是否知道除了散列之後的信息相同的兩個URL實際上是不同的URL並將它們編入索引之後呢?
我應該考慮這種技術的其他優點和缺點?
注:我使用C#與ASP.NET Web窗體和ASP.NET MVC 3.0萬一重要。
也從這個線程得到的想法http://stackoverflow.com/questions/973739/how-can-i-get-the-same-page-with-the-click-of-back-button-of -browser/973753#973753 – 2011-05-10 05:16:11
這算不上什麼我一直在尋找穆罕默德。 – Chev 2011-05-10 13:54:51