Hash、onHashChange事件

简介: Hash、onHashChange事件

现在的web应用程序越来越多的使用ajax异步请求完成页面的无缝刷新,导致浏览器的URL不会发生任何变化而完成了请求,从而破换了用户浏览体验。同时本次浏览的页面内容在用户下次使用URL访问时将无法重新呈现。而解决该问题的一个途径便是使用window.location.hash属性及window的onhashchange事件。下面具体介绍几个使用过程中必须理解的要点:

1、hash值浏览器是不会随请求发送到服务器端的(即地址栏中#及以后的内容)。

2、可以通过window.location.hash属性获取和设置hash值。

3、如果注册onhashchange事件,设置hash值会触发事件。可以通过设置window.onhashchange注册事件监听器,也可以在body元素上设置onhashchange属性注册。

4、window.location.hash值的变化会直接反应到浏览器地址栏(#后面的部分会发生变化)。

5、同时浏览器地址栏hash值的变化也会触发window.location.hash值的变化,从而触发onhashchange事件。

6、当浏览器地址栏中URL包含hash如http://www.baidu.com/#home ,这时按下enter,浏览器发送http://www.baidu.com/请求至服务器,请求完毕之后设置hash值为#home,进而触发onhashchange事件。

7、当只改变浏览器地址栏URL的hash部分,这时按下enter,浏览器不会发送任何请求至服务器,这时发生的只是设置hash值新修改的hash值,并触发onhashchange事件。

8、html 标签属性href可以设置为页面的元素ID如#top,当点击该锚链接时页面跳转至该id元素所在区域,同时浏览器自动设置window.location.hash属性,同时地址栏hash值发生改变,并触发onhashchange事件。

相关文章
|
物联网 网络虚拟化 数据安全/隐私保护
【计算机网络】无线局域网详解
【计算机网络】无线局域网详解
188 0
|
10月前
|
算法 安全 数据建模
阿里云SSL证书限时优惠,WoSign DV证书220元/年起
2024年11月01日至11月30日,阿里云SSL证书限时优惠,部分证书产品新老同享75折起;阿里云用户通过完成个人或企业实名认证,还可领取不同额度的满减优惠券!通过优惠折扣、叠加满减优惠券等多种方式,阿里云WoSign SSL证书将实现优惠价格新低,DV SSL证书220元/年起!
890 5
阿里云SSL证书限时优惠,WoSign DV证书220元/年起
|
10月前
|
存储 分布式计算 流计算
实时计算 Flash – 兼容 Flink 的新一代向量化流计算引擎
本文介绍了阿里云开源大数据团队在实时计算领域的最新成果——向量化流计算引擎Flash。文章主要内容包括:Apache Flink 成为业界流计算标准、Flash 核心技术解读、性能测试数据以及在阿里巴巴集团的落地效果。Flash 是一款完全兼容 Apache Flink 的新一代流计算引擎,通过向量化技术和 C++ 实现,大幅提升了性能和成本效益。
3242 73
实时计算 Flash – 兼容 Flink 的新一代向量化流计算引擎
|
8月前
|
JavaScript
jQuery仿方块人物头像消除游戏源码
jQuery人物头像迷阵消除游戏代码是一款类似《宝石迷阵》类的方块消除类型的小游戏源码。
1271 13
|
10月前
|
开发框架 JavaScript 前端开发
Node.js日记:客户端和服务端介绍、Node.js介绍
Node.js日记:客户端和服务端介绍、Node.js介绍
|
10月前
|
前端开发
通过onhashchange事件,点击a标签,文本框出现对应内容
通过onhashchange事件,点击a标签,文本框出现对应内容
|
存储 JavaScript 安全
JS 监听用户页面访问&页面关闭操作并进行数据上报
该文主要讨论了一个网页安全项目的需求和实现,涉及用户访问和离开页面时的数据报告。需求包括首次进入、刷新、新标签页打开、导航切换以及页面关闭时的数据发送。技术要点包括使用Cookie和SessionStorage存储信息,事件监听以及navigator.sendBeacon方法进行数据发送。实现策略包括轮询检测URL变化和在unload事件中触发页面关闭报告。文章还提到了相关流程图和代码示例,总结中强调了数据上报在用户行为分析中的重要性。
297 3
|
Java 编译器 开发者
Java注解(Annotation)技术深入解析
Java注解(Annotation)技术深入解析
581 1
|
JavaScript 前端开发 数据安全/隐私保护
NodeJS 下构建 命令行工具(CLI) 与 交互式命令界面 的实践
NodeJS 下构建 命令行工具(CLI) 与 交互式命令界面 的实践
960 1
|
Ubuntu 关系型数据库 MySQL
Mysql Access denied for user ‘root‘@ ‘*.*.*.*‘ (using password: YES)异常处理
Mysql Access denied for user ‘root‘@ ‘*.*.*.*‘ (using password: YES)异常处理
475 0
Mysql Access denied for user ‘root‘@ ‘*.*.*.*‘ (using password: YES)异常处理