window.location.hashの簡単な理解


locationはjavascriptの中で住所欄を管理する内蔵の対象で、たとえばlocations.hrefはページのurlを管理して、location.href=urlを使って直接ページをリダイレクトしてurlを回転することができます.location.hashは、ページのラベル値を取得または設定するために使用されます.たとえばhttp://domain/#adminのlocation.hash=「嚖admin」です.この属性値を利用して非常に有意義なことができます.
多くの人はホームページを収集して、後での閲覧に便利です.しかし、Ajaxページにとっては、一つのページですべての事务を処理します.つまり、Ajaxページの中の面白い内容を见たら、それを収集したいですが、住所は一つしかありません.今度はこの住所を开けば、いつものように绝えずホームページをクリックして、好きなページを见つけます.また、ブラウザ上の「前進」「後退」ボタンも無効になり、従来のページに慣れたユーザーにとっては大きな障害となります.
では、この二つの問題をどうlocation.hashで解決しますか?実は全然神秘的ではないです.
例えば、私の著者管理システムは、主な機能は三つあります.普通の検索、高級な検索、バックグラウンド管理は、それぞれ一つのhash値を割り当てます.たとえば:
<!DOCTYPE HTML>
<html lang="en-US">
<head>
	<meta charset="UTF-8">
	<title>window.location.hash</title>
	<script type="text/javascript" src="http://lib.sinaapp.com/js/jquery/1.9.1/jquery-1.9.1.js"></script>
	<script type="text/javascript">
		
		$(document).ready(function(){
		
			console.log("--- begin....");
		
			var hash = (!window.location.hash) ? "#search" : window.location.hash;
			window.location.hash = hash;
			console.log("hash : " + hash);
			
			switch(hash) {
				case "#search":
					console.log("search");
					break;
				case "#advsearch":
					console.log("advsearch");
					break;
				case "#admin":
					console.log("#admin");
					break;
				default : 
					console.log("NO#");
			}
			
			

		
		
		});
		
		
		function go(hash) {
			//var hash = (!window.location.hash) ? "#search" : window.location.hash;
			console.log(" go --- hash : " + hash);
			window.location.hash = hash;
			switch(hash) {
				case "search":
					$("h2").html("search");
					break;
				case "advsearch":
					$("h2").html("advsearch");
					break;
				case "admin":
					$("h2").html("#admin");
					break;
				default : 
					console.log("NO#");
			}
		
		
		}
		
		//  :      :file:///C:/Users/Administrator/Desktop/hash.html#admin
	
	</script>
</head>
<body>
	
	<input type="button" value="search" id="search" onclick="go('search')"/>
	
	<h2>    </h2>
	
	<input type="button" value="advsearch" id="advsearch" onclick="go('advsearch')"/>
	<br /><br />
	<input type="button" value="admin" id="admin" onclick="go('admin')"/>
	
	
	
</body>
</html>
参考:1 2 3