zoukankan      html  css  js  c++  java
  • 1. 本地存储Storage

    作用:永久保存数据数据,下次打开网页的时候数据还在
    Storage API 
    setItem(): 
    - 设置数据,keyvalue类型,类型都是字符串 
    - 可以用获取属性的形式操作 
     
    getItem(): 
    - 获取数据,通过key来获取到相应的value 
     
    removeItem(): 
    - 删除数据,通过key来删除相应的value 
     
    clear(): 
    - 删除全部存储的值 
    例子 :  保存注册信息  
     
    存储事件: 
    - 当数据有修改或删除的情况下,就会触发storage事件 
    在对数据进行改变的窗口对象上是不会触发的 在当前页面的事件不会触发,共享的页面会触发,多个嵌套的页面
    - Key : 修改或删除的key值,如果调用clear(),key为null 
    - newValue  :  新设置的值,如果调用removeStorage(),key为null 
    - oldValue :  调用改变前的value值 
    - storageArea : 当前的storage对象 url :  触发该脚本变化的文档的
    - url  :  触发该脚本变化的文档的url
    - 注:session同窗口才可以  例子:iframe操作(嵌套的页面也可以触发storage事件
     
    例子:iframe操作 例子 :   同步购物车(可同步更新,打开新页面,能把旧页面的数据更新过来
      
     
    多选框同步:
    html
    <input type="button" value="设置" />
    <input type="button" value="获取" />
    <input type="button" value="删除" />
    <input type="text" />
    javascript
     var aInput = document.getElementsByTagName('input');
    
        for (var i = 0;i < aInput.length; i++) {
            aInput[i].onclick = function() {
                if (this.checked) {
                    window.localStorage.setItem('sel', this.value);
                }
                else{
                    window.localStorage.setItem('onSel', this.value);
                }
            };
        }
    
    
        window.addEventListener('storage', function(ev) {  //当前页面的事件不会触发(触发的事件不会在当前页面发生,在共享的页面触发)
            if (ev.key == 'sel') {
                for(var i=0;i<aInput.length;i++){
                    if (ev.newValue == aInput[i].value) {
                        aInput[i].checked = true;
                    }
                }
            } else if (ev.key == 'onSel') {
                for(var i=0; i < aInput.length; i++){
                    if (ev.newValue == aInput[i].value) {
                        aInput[i].checked = false;
                    }
                }
            }
        },false);

    此处checkbox有个bug,某个选项选中->取消->再选中时,不会触发storage事件

  • 相关阅读:
    个人管理:2,3月微薄整理
    ORM相关图片整理
    LmgORM项目 实体类转换器
    (转)Enterprise Architect 7.0入门教程
    禁止右键复制的代码
    UML示例图(转)学习
    Flash FMS Helloword
    模拟生成Guid
    Flash Media Server安装
    WebSphere创建删除概要文件
  • 原文地址:https://www.cnblogs.com/zouxinping/p/4985613.html
Copyright © 2011-2022 走看看