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