您的位置:首页 > Web前端 > HTML5

html5 hash

2015-11-11 11:19 731 查看
作者: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);
//onhashchange
window.location.hash = num;
window.onhashchange = function(){
oDiv = = window.location.hash.substring(1);
}
//history
oDiv.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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  html5 hash