天天看点

location的hash部分和使用window.onhashchange实现ajax请求内容时使用浏览器后退和前进功能

在js跨域双向数据传递时可以用iframe加上location.hash来实现,在研究这个的时候深入学习了一下hash的特性。

  hash就是uri中#及后面的部分,例如:www.google.com.hk#123的#123。当只有hash部分发生变化时,浏览器的历史记录会产生记录,但不会向服务器发出请求,这时按后退键地址栏的uri会变化但页面内容不变。

  而hash变化但不发出请求就是js跨域双向数据传递的基础啦。

下面就讲述一下hash结合ajax的使用,ajax每次取数据时页面更新后浏览器并不产生历史记录,也就是说后退和前进按钮失去应用的效用,这时可以结

合hash和window.onhashchange来使用,注意ie6、7均不支持onhashchange,但可以用setinterval定期检查

hash的改变,或者onload中检查的方法。

  具体实现:

继续阅读