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値を割り当てます.たとえば:
多くの人はホームページを収集して、後での閲覧に便利です.しかし、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