hash 属性是一个可读可写的字符串,该字符串是 URL 的锚部分(从 # 号开始的部分)。
我们可以通过在进行ajax操作时设置hash属性来进行关联,从而解决页面刷新、前进和后退操作时,通过ajax修改的页面失效的问题。
实现起来很简单,比如页面上有2种ajax操作:搜索,编辑,我们可以在页面刷新后在初始化过程中执行下面代码,来恢复之前ajax的操作状态。

var hash=window.location.hash; 
switch(hash){   
case "#search":  
    //do search
    window.location.hash='#search';
    break;    
case "#edit":    
    //do edit  
    window.location.hash='#edit';
    break;    
}

如果你使用过Gmail,你就会发现它采用了类似这样的处理方法,原理就这么简单,具体实现可以根据自己的需求定制。

已赞 1 0 评论