HTML5之history管理
比较简单的历史记录管理技术是通过location.hash和hashchange事件来实现的。
在浏览器中设置location.hash会改变当前的URL,同时也会在浏览器的历史记录中增加一条记录。
支持HTML5的浏览器当发现URL中的片段发生变化时,就会在Window对象上触发一个hashchange事件。
这样,在支持hashchange事件的浏览器中,就可以通过设置window.onhashchange为一个处理函数,使得每次历史记录变换导致hash标识符变化的时候,都会调用相应的处理函数。在处理函数中可以对location.hash的值进行解析,然后根据该值进行相应的处理。
此外,HTML5中还定义了一个相对更加复杂和强健的历史记录管理方法,包含history.pushState()方法和popstate事件。
当Web应用进入一个新的状态时,会调用history.pushState()方法,将该状态添加到浏览器的历史记录中。该方法的第一个参数是一个对象,该对象包含用于恢复当前文档状态所需的所有信息;该方法的第二个可选参数是一个可选的标题(普通的文本字符串);该方法的第三个参数是一个可选的URL,表示当前状态的位置。
除了,pushState()方法外,history对象还定义了replaceState()方法,该方法和pushState()方法接受同样的参数,但它是用新的状态代替当前的历史状态。
当通过“后退”和“前进”按钮浏览保存的历史状态时,浏览器会在window对象上触发一个popstate事件,与该事件相关联的事件对象有一个state属性,该属性包含传递给pushState()方法的状态对象的副本。
相关推荐
表格的现在还是较为常用的一种标签,但不是用来布局,常见处理、显示表格式数据。在HTML网页中,要想创建表格,就需要使用表格相关的标签。<table> <tr> <td>单元格内的文字</td> ...