HTML5历史管理

作者: ferrint | 来源:发表于2017-03-02 20:27 被阅读6次

关键词:hash

html5新增了历史管理功能,在现代Web应用中,用户可以通过”前进”和”后退”按钮进行历史页面的切换。这让一些不在新页面中打开的新页面前进后退自如,提高了用户体验。

历史管理共有两种方法


方法1

pushState(数据 , 标题 , 地址(可选))

popstate事件: 读取数据 event.state

我们做个随机取数的例子

<input type="button" value="随机选择" id="input1">
<div id="div1"></div>

window.onload = function(){
    var oInput = document.getElementById('input1');
    var oDiv = document.getElementById('div1');
    
    oInput.onclick = function(){
        
        var arr = randomNum(35,7);
        
        history.pushState(arr,'',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;
        
    }
    
};

方法2

onhashchange: 事件;当hash值有变化的时候触发 ,读取数据

window.onload=function();存储事件

    var json = {};
    
    oInput.onclick = function(){
        
        var num = Math.random();
        
        var arr = randomNum(35,7);
         
        json[num] = arr;
        
        oDiv.innerHTML = arr;
        
        window.location.hash = num;  // 存储历史
        
    };
    
    window.onhashchange = function(){  // 触发历史
        
        oDiv.innerHTML = json[window.location.hash.substring(1)];
        
    };

相关文章

  • HTML 5 新增方法以及历史管理

    @(HTML5)[HTML5 新增方法] [TOC] 十四、 HTML 5 新增方法以及历史管理 新增的获取元素的...

  • HTML5历史管理

    一、触发历史管理的方法: 1、通过跳转页面2、改变页面的hash值格式:网址#hash值3、pushState()

  • HTML5历史管理

    关键词:hash html5新增了历史管理功能,在现代Web应用中,用户可以通过”前进”和”后退”按钮进行历史页面...

  • html5入门教程(八)history详解

    创建状态 HTML5新添加了对历史的管理,用户可以通过”前进”和”后退”按钮进行历史页面的切换。这让一些不在新页面...

  • 焦点管理

    11.3.2焦点管理 HTML5也添加了辅助管理DOM焦点的功能,首先document.activeElement...

  • 基于 VUE 框架的模拟Windows 桌面效果,

    基于 VUE 框架的模拟Windows 桌面效果,后台管理UI,HTML5 CSS Javascript 【源码地...

  • 历史管理

  • HTML5语法,标签, 属性

    @(HTML5)[HTML5 语法, HTML5标签, HTML5属性] [TOC] 一 、HTML5语法,标签,...

  • Web之旅——初识HTML5(1)

    开始前端之旅,先要了解一些基本的储备知识。本节将会演示最简单的HTML5页面构成和介绍HTML5相关的历史背景知识...

  • android webview 文件上传

    1、唤出系统文件管理器 开启文件上传,可使用HTML5标签 唤出系统文件管理器或自定义文件管理器,然后选择文件...

网友评论

    本文标题:HTML5历史管理

    本文链接:https://www.haomeiwen.com/subject/immkgttx.html