天天看點

location的hash部分和使用window.onhashchange實作ajax請求内容時使用浏覽器後退和前進功能

在js跨域雙向資料傳遞時可以用iframe加上location.hash來實作,在研究這個的時候深入學習了一下hash的特性。

  hash就是uri中#及後面的部分,例如:www.google.com.hk#123的#123。當隻有hash部分發生變化時,浏覽器的曆史記錄會産生記錄,但不會向伺服器送出請求,這時按後退鍵位址欄的uri會變化但頁面内容不變。

  而hash變化但不送出請求就是js跨域雙向資料傳遞的基礎啦。

下面就講述一下hash結合ajax的使用,ajax每次取資料時頁面更新後浏覽器并不産生曆史記錄,也就是說後退和前進按鈕失去應用的效用,這時可以結

合hash和window.onhashchange來使用,注意ie6、7均不支援onhashchange,但可以用setinterval定期檢查

hash的改變,或者onload中檢查的方法。

  具體實作:

繼續閱讀