解決ajax前進後退功能

來源:互聯網
上載者:User

最近的項目中大量使用了ajax技術,但ajax應用中容易導致瀏覽器的前進後退按鈕失效,不產生前進後退功能,這是個很頭疼的問題,它嚴重的破壞了使用者美好的體驗,但通過改變location.hash值來解決Ajax過程中導致的瀏覽器前進後退按鍵失效的問題

Ybole.hash={
  url:'',
  setHash:function(a){
          if(a.join)a=a.join('/');
                $.browser.msie?$.locationHash(a):location.hash=a;
                },
  doHash:function(){
    var h = location.hash.replace('#','').split('/');
     if(Ybole.hash.url.join()!=h.join()){
      Y.searchKeyword(h[0],h[1],h[2]);
         }
      }
 } 
    $(window).hashchange(function(){
   Ybole.hash.doHash();
  });

這裡主要說的是如何解決以前別人常遇到的重複載入的問題,主要是比較前後的hash值,看其是否相等,再判斷是否要觸發ajax.

Ybole.hash.url=[p.data.search,p.cate,Ybole.page.curpage];
       Ybole.hash.setHash(Ybole.hash.url);這是ajax回呼函數裡的,儲存ajax出發後的hash值避免hash值改變時重複觸發

還用到了jquery的一個hashchange外掛程式

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.