jquery loadメソッドブラウザの前進後退の失効を解決


詳細
最近、プロジェクトではjqueryのloadメソッドを使用してページをロードすることが多いが、loadメソッドを使用するとブラウザの前進、後退が失効し、特に不便であることが分かった.多方面の資料の照会を経て、最終的にjqueryのjqueryを使うことを決定します.ba-hashchange.jsは、リアルタイムモニタリングブラウザhashchangeによってブラウズアドレスレコードを実装する問題を解決し、hashに関する知識は最下部のリンクを参照してください.プロセスはあまり言わないで、直接コードをつけます.
一、プロジェクトでjqueryを参照する.ba-hashchange.js
    

、ページロード の ( )
 
 $(function(){
		$(window).hashchange( function(){
			  var hash=location.hash;
			  if(hash!=null&&hash!=""&&hash!="undefined"){
				  url=hash.substring(1);
				  loadActivePageByHash(url); //  load  ,       
			  }else{
				  initFirstPage(); //      
			  }
		  })
		  $(window).hashchange();       //      hash    
	});

、hashの を し、load を び す
   

//hash        load  
function loadActivePageByHash(url,backFun){
		$('#pageContainer').load(url,{},function(response,status,xhr){
			if(backFun &&  typeof backFun=="function")backFun(response,status,xhr);
		});
	}

 
、loadインタフェースが な はhashをリセットするだけでよい(hashを するため、 にloadが び される)
    
 //  hash     
	function loadActivePage(url,backFun){
		location.hash="#"+url;//     hash
		 $(window).hashchange();//    hash    ,            hash   ,       
		if(backFun &&  typeof backFun=="function")backFun();
	}

     
  
ブラウザHASHに する はブログを :http://justcoding.iteye.com/blog/2219340
  • jquery.ba-hashchange.rar (5.2 KB)
  • ダウンロード :31