html5 hash

来源:互联网 发布:时间胶囊软件 编辑:程序博客网 时间:2024/06/05 17:19

作者:zccst 现在的开发,越来越倾向于页面内跳转,这种情况下需要更新自己的知识,来实现页面内跳转。history就是解决这个问题的。 

 HTML5有两种解决办法: 

 1,onhashchange 用到了window.loaction.hash对象(存,取) 

 2,history 

(1) pushstate 三个参数:数据,标题(为空),url(可选)。 

(2) popstate是一个事件,读取event.state数据 

 注意:url是虚假的。用户不能实际找到。 

 本质上:两种方式都是存值+取值事件。

简化后就是: 

window.loaction.hash = srcArr; window.onhashchange=function(){     var val = window.loaction.hash; }

 和 

history.pushState = srcArr; window.onpopstate=function(event){     var val = event.state; };

 详情参考如下参数随机数例子:

<!DOCTYPE html PUBLIC"-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type"content="text/html; charset=utf-8"/><title>无标题文档</title><script type="text/javascript">window.onload=function (){var oInput = document.getElementById("input1");oInput.onclick=function(){var oDiv = document.getElementById("div1");var num = generateNum (6);//onhashchangewindow.location.hash = num;window.onhashchange = function(){oDiv = = window.location.hash.substring(1);}//historyoDiv.innerHTML=num;//生成随机数function generateNum (num){var ret = [];for (var i = 0; i < num; i++) {ret.push(Math.ceil(100*Math.random()));};return ret;}}}</script></head><body>中奖号码:<div id="div1"></div><input type="button"value="生成随机号码"id="input1"/></body></html>
0 0