关于window.location.has 4000 h的理解及其应用
2016-02-25 11:22
471 查看
window.location接口表示window对象所展示的页面的地址等信息,对于一个完整的url,location.protocol,.host,.pathname,.search,.hash分别表示了每一部分。例如对于http://www.google.com.hk/news?s=a#page1,location.protocol为http:,location.host为www.google.com.hk(包括hostname和port(80)),location.pathname为/news,location.search为?s=a,location.hash为#page1。这里详细整理location.hash的理解和使用。
#代表网页中的一个位置,浏览器读取后就将该位置滚动到可视区域。在网页中为位置指定标识符方法有两个,一个是利用锚点,例如<a name='page1'></a>,另外可以使用id属性,例如<div id='page2'></div>。
#是用来指导浏览器动作的,http请求中是不包括#部分的,不会发送到服务器端。因此改变location.hash部分,浏览器不会发送请求重新加载页面。
但是改变location.hash会在浏览器的访问历史中增加一个记录,使用后退键时可以回到上一个浏览位置。利用这一点就可以解决ajax中无访问状态的问题,配合#和历史记录,就可以在无刷新的ajax中顺利往返于各个访问状态。
h5新增了一个onhashchange事件,#值变化时就会触发该事件。浏览器兼容性上IE8+,chrome5+,ff3.6+都支持该事件,更多浏览器兼容性可参考mdn上的说明。
#代表网页中的一个位置,浏览器读取后就将该位置滚动到可视区域。在网页中为位置指定标识符方法有两个,一个是利用锚点,例如<a name='page1'></a>,另外可以使用id属性,例如<div id='page2'></div>。
#是用来指导浏览器动作的,http请求中是不包括#部分的,不会发送到服务器端。因此改变location.hash部分,浏览器不会发送请求重新加载页面。
但是改变location.hash会在浏览器的访问历史中增加一个记录,使用后退键时可以回到上一个浏览位置。利用这一点就可以解决ajax中无访问状态的问题,配合#和历史记录,就可以在无刷新的ajax中顺利往返于各个访问状态。
h5新增了一个onhashchange事件,#值变化时就会触发该事件。浏览器兼容性上IE8+,chrome5+,ff3.6+都支持该事件,更多浏览器兼容性可参考mdn上的说明。
相关文章推荐
- JQuery1——基础($对象,选择器,对象转换)
- Android学习笔记(二九):嵌入浏览器
- Android java 与 javascript互访(相互调用)的方法例子
- JavaScript演示排序算法
- javascript实现10进制转为N进制数
- 2019年开发人员应该学习的8个JavaScript框架
- HTML中的script标签研究
- 对一个分号引发的错误研究
- 异步流程控制:7 行代码学会 co 模块
- ES6 走马观花(ECMAScript2015 新特性)
- JavaScript拆分字符串时产生空字符的原因
- Canvas 在高清屏下绘制图片变模糊的解决方法
- Redux系列02:一个炒鸡简单的react+redux例子
- JavaScript 各种遍历方式详解
- call/apply/bind 的理解与实例分享
- 如何创建对象以及jQuery中创建对象的方式
- 数组方法汇总