前言:
其实项目做着做着,慢慢地有点转型到所谓的“前端主导”的方式------后端返回前端ajax的数据,前端进行渲染和事件交互相关的东西。但是也越来越体验到ajax带来的一些不好的地方:每一个ajax请求中,页面不会更新地址栏,历史记录也就不会得到更新,浏览器自带的“前进”与后退(或者我们键盘用的Backspace回格键)也就失去了相关的作用。
正文:
再考虑下笔的时候,其实还是觉得这个topic应该是一个系列:
- location.hash以及#相关的一些知识
- onhashchange事件相关的
- 还有就是关于一些框架库对应的History的这些插件源码的分析
- HTML5 history API的一些介绍
location.hash以及#相关的一些知识:
1、我写过 一篇location相关的整理的文章,里面就简单介绍了一下location.hash是干嘛的:
location.hash ------- 返回从(#)开始的URL
所以你可以用这样的方式获取#的值---------注意这个值是 可读可写的
2、 #到底有什么用?
- #可以代表一个位置,#后面的可以是一个锚点或者对应容器的id
比如: http://shurufa.baidu.com/help.html#n38
其实很多这样的说明性的网页会用 #来配合锚点进行对应内容的定位
3、 #对于服务器端有没有用?
http://shurufa.baidu.com/help.html#n38 这样的一个请求,我们可以从下图中看到:
你看不到有#这部分相关的内容。
4、改变 #的内容是否会使网页进行重载?
答案是: 不会!
5、 改变#的内容是否会增加访问历史记录,使用回退是否能回到上一个访问的地址?
答案是: 当然!。。。除了IE6&7
标签:hash,开篇,前端,探究,ajax,location,一些,相关 From: https://blog.51cto.com/u_16170312/6551639