window.location.hash的简单了解

location是javascript里边管理地址栏的内置对象,比如location.href就管理页面的url,用location.href=url就可以直接将页面重定向url。而location.hash则可以用来获取或设置页面的标签值。比如http://domain/#admin的location.hash="#admin"。利用这个属性值可以做一个非常有意义的事情。

创新互联建站拥有网站维护技术和项目管理团队,建立的售前、实施和售后服务体系,为客户提供定制化的成都网站设计、成都网站制作、网站维护、绵阳服务器托管解决方案。为客户网站安全和日常运维提供整体管家式外包优质服务。我们的网站维护服务覆盖集团企业、上市公司、外企网站、商城网站建设、政府网站等各类型客户群体,为全球成百上千家企业提供全方位网站维护、服务器维护解决方案。

很多人都喜欢收藏网页,以便于以后的浏览。不过对于Ajax页面来说的话,一般用一个页面来处理所有的事务,也就是说,如果你浏览到一个Ajax页面里边有意思的内容,想将它收藏起来,可是地址只有一个呀,下次你打开这个地址,还是得像以往一样不断地去点击网页,找到你钟情的那个页面。另外的话,浏览器上的“前进”“后退”按钮也会失效,这于很多习惯了传统页面的用户来说,是一个很大的使用障碍。

那么,怎么用location.hash来解决这两个问题呢?其实一点也不神秘。

比如,我的作者管理系统,主要功能有三个:普通搜索、高级搜索、后台管理,我分别给它们分配一个hash值:#search、#advsearch、#admin,在页面初始化的时候,通过window.location.hash来判断用户需要访问的页面,然后通过javascript来调整显示页面。比如:




	
	window.location.hash
	
	
		
		$(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":
					$("h3").html("search");
					break;
				case "advsearch":
					$("h3").html("advsearch");
					break;
				case "admin":
					$("h3").html("#admin");
					break;
				default : 
					console.log("NO#");
			}
		
		
		}
		
		//测试:在地址栏输入:file:///C:/Users/Administrator/Desktop/hash.html#admin
	
	


	
	
	
	

第一部分

参考 :1   2  3


网页名称:window.location.hash的简单了解
文章网址:http://cdiso.cn/article/peidsj.html

其他资讯