JavaScript代码
window.addEventListener('popstate',function(ev){
var state = event.state;
if(state){ // 当第一个页面加载的时候state为空
processState(state)
}
}, false); 添加href值实现历史管理
HTML代码
<input type="button" value="35选7" id="input1" /> <p id="p1"></p>
JavaScript代码
//onhashchange : 事件 : 当hash值改变的时候触发的事件
//hash改变就会出现就会出现历史管理
window.onload = function(){
var oInput = document.getElementById('input1');
var op = document.getElementById('p1');
var obj = {};
oInput.onclick = function(){
var number = randomNum(35,7);
op.innerHTML = number;
var oRN = Math.random();
obj[oRN] = number;
window.location.hash = oRN;
};
window.onhashchange = function(){
var number = obj[window.location.hash.substring(1)] || '';
op.innerHTML = number;
};
function randomNum(alls,now){
var arr = [];
var newArr = [];
for(var i=1;i<=alls;i++){
arr.push(i);
}
for(var i=0;i<now;i++){
newArr.push( arr.splice( Math.floor(Math.random()*arr.length) ,1 ) );
}
return newArr;
}
}; 通过HTML5中history对象实现历史管理
HTML代码
<input type="button" value="35选7" id="input1" /> <p id="p1"></p>
JavaScript代码
//pushState : 三个参数:1.要存的内容 2.标题(一般写个空的字符串) 3.地址(可选)
//history.pushState({name: "menglong"}, '', "li.html");
window.onload = function(){
var oInput = document.getElementById('input1');
var op = document.getElementById('p1');
var iNow = 0;
oInput.onclick = function(){
var number = randomNum(35,7);
op.innerHTML = number;
history.pushState(number,'',iNow++);
};
window.onpopstate = function(ev){ //历史管理改变,就会触发
var number = ev.state || '';
op.innerHTML = number;
};
function randomNum(alls,now){
var arr = [];
var newArr = [];
for(var i=1;i<=alls;i++){
arr.push(i);
}
for(var i=0;i<now;i++){
newArr.push( arr.splice( Math.floor(Math.random()*arr.length) ,1 ) );
}
return newArr;
}
}; 以上就是HTML5实战与剖析之历史管理(history对象)的内容,更多相关内容请关注PHP中文网(HdhCmsTestgxlcms测试数据)!
查看更多关于HTML5实战与剖析之历史管理(history对象)的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did65695