我有一個列表,其中包含通過ajax(準確地說:microsoft updatepanel)獲取的搜索結果。問題是,我無法使用任何web瀏覽器的後退按鈕導航回先前通過ajax獲取的列表。你有好主意嗎?使用ajax調用時瀏覽器的後退麻煩
感謝
我有一個列表,其中包含通過ajax(準確地說:microsoft updatepanel)獲取的搜索結果。問題是,我無法使用任何web瀏覽器的後退按鈕導航回先前通過ajax獲取的列表。你有好主意嗎?使用ajax調用時瀏覽器的後退麻煩
感謝
你需要讓所有的Ajax調用更新window.location.hash。
function getAjaxResource(id) {
// some ajax stuff
window.location.hash = 'resource=' + id;
}
然後,您需要使用javascript的setInterval函數向散列添加觀察器。
var hash = window.location.hash;
window.setInterval(function() {
if (window.location.hash != hash) {
hash = window.location.hash;
getAjaxResource(hash.replace('resource=',''));
}
},100);
每次用戶點擊後退/前進時,哈希值都會改變,觀察者會選擇該改變。
添加一些網址,例如page.html#state1
,page.html#state2
等,這是一個普遍的做法
嗨semyon,謝謝你的答案埠我不能這樣做。更新面板使用POST獲取新數據。 – Erwin 2011-01-20 15:36:04
@Erwin - 當你發出ajax請求時,你在javascript中設置哈希# – 2011-01-20 15:44:38