|
location是javascript里面管理地址栏的内置对象.
比如loation.href是 页面的url .但是 location.hash可以获取或设置页面的 标签值 比如http://domain/#testDemo中 咱们的location.hash 就是 #testDemo 下面引用一个 网上的demo 一个搜索版块,功能有3个:普通搜索,高级搜索,后台管理,分别指明他们各自的hash 值:#search,#advsearch,#adminboss. 在页面初始化的时候,通过window.location.hash来判断用户需要访问的页面,也就是将要显示的版块 复制代码 代码如下: var hash; hash = (!window.location.hash)?"#search":window.location.hash; window.location.hash = hash; //这里我们解释一下(!window.location.hash)什么意思?首先如果当前页面的地址栏的链接地址 不包含#....的这些的话,直接取值的话,他会为空!比如这个例子,//www.jb51.net/直接取 alert(window.location.hash)//""空 转化为 boolean值 为 false // 如果 //www.jb51.net#hello,world直接取 alert(window.location.hash)//#hello,world 转化为 boolean值 为 true //下面的就是 可以用switch判断 //调整地址栏地址,使前进、后退按钮能使用 switch(hash){ case "#search": show("panel1"); break; case "#advsearch": show("panel2"); break; case "#adminboss": show("panel3"); break; } 下面引用 别人的一句话: 通过window.location.hash=hash这个语句来调整地址栏的地址,使得浏览器里边的“前进”、“后退”按钮能正常使用(实质上欺骗了浏览器)。然后再根据hash值的不同来显示不同的面板(用户可以收藏对应的面板了),这就使得Ajax页面的浏览趋于传统化了。 |
|