zoukankan      html  css  js  c++  java
  • 认识一下window.location.hash

      引用[china-aspx]的话说,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)什么意思?首先如果当前页面的地址栏的链接地址 不包含#....的这些的话,直接取值的话,他会为空!比如这个例子,http://www.ggssl.com/直接取 alert(window.location.hash)//""空 转化为 boolean值 为 false
    //
    如果 http://www.ggssl.com#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页面的浏览趋于传统化了。

  • 相关阅读:
    C#异步编程
    ASP.NET MVC5中View-Controller间数据的传递
    Dapper简明教程
    .NET中使用NLog记录日志
    微信开发被动回复消息:该公众号暂时无法提供服务,请稍后再试
    使用AutoMapper进行对象间映射
    Cookie中的几个概念
    使用CodeFirst创建并更新数据库
    restful接口设计规范总结
    JAVA中通过Hibernate-Validation进行参数验证
  • 原文地址:https://www.cnblogs.com/NetSos/p/1870593.html
Copyright © 2011-2022 走看看