zoukankan      html  css  js  c++  java
  • html5 历史管理onhashchange和state

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
    </head>
    <script>
     window.onload=function(){
            var oin=document.getElementById('input1');
            var odiv=document.getElementById('div1');
            var json={};
            oin.onclick=function(){
                /*随机获取num值*/
                var num=Math.random();
                 /*获取随机7位数*/
                var arr=randomNum(35,7);
               /* 随机索引存arr随机7位数*/
                json[num] =arr;
                odiv.innerHTML=arr;
                window.location.hash=num;
            }
            window.onhashchange=function(){
                odiv.innerHTML=json[window.location.hash.substring(1)];
            }
    
           function randomNum(iAll,iNow)
           {
                var arr=[];
                var newArr=[];
                for(var i=1; i<iAll; i++){
                    arr.push(i);
                    }
                    for(var i=0; i<iNow; i++)
                    {
                        newArr.push(arr.splice(Math.floor(Math.random()*arr.length),1));
                    }
                    return newArr;
           }
     }
    </script>
    <body>
        <input type="button" value="随机选择" id="input1">
        <div id="div1"></div>
    </body>
    </html>

    随机数组的的索引存值

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
    </head>
    <script>
     window.onload=function(){
            var oin=document.getElementById('input1');
            var odiv=document.getElementById('div1');
            oin.onclick=function(){
              var arr=randomNum(35,7);
              /*要存的数组*/
              history.pushState(arr,'');
              odiv.innerHTML=arr;
            };
            /*取数组的函数*/
            window.onpopstate=function(ev)
            {
              odiv.innerHTML=ev.state;
            }
    
           function randomNum(iAll,iNow)
           {
                var arr=[];
                var newArr=[];
                for(var i=1; i<iAll; i++){
                    arr.push(i);
                    }
                    for(var i=0; i<iNow; i++)
                    {
                        newArr.push(arr.splice(Math.floor(Math.random()*arr.length),1));
                    }
                    return newArr;
           }
     }
    </script>
    <body>
        <input type="button" value="随机选择" id="input1">
        <div id="div1"></div>
    </body>
    </html>

    此方法只适合在服务器上使用

  • 相关阅读:
    python hmac解密
    pymongo加索引以及查看索引例子
    语音-数字中继-E1-学习帖
    Partition does not start on physical sector boundary
    吃自助餐怎么样一个顺序吃法才合算?
    关于ROS证书导入的步骤
    MikroTik-ROS-无线设备传输距离
    这个移动通讯中 DB 、DBm 、瓦的基本知识的问题:
    涨姿势 | 无线通讯距离现场评估知多少?
    linux下生成https的crt和key证书
  • 原文地址:https://www.cnblogs.com/hack-ing/p/6242935.html
Copyright © 2011-2022 走看看