对浏览器storage的操作

var storage=(function(opts) {
    ‘use strict‘;
    function StorageHandle(storage) {
        this.storage = window[storage] || window.sessionStorage;
    }
    StorageHandle.prototype = {
        constructor: StorageHandle,
        //存入session的方法
        setItem: function(key, param) {
            if (typeof param == ‘object‘) {
                this._setStorages(key, param);
            } else {
                this._setStorage(key, param);
            }
        },
        _setStorage: function(key, val) {
            this.storage.setItem(key, val);
        },
        _setStorages(key, obj) {
            var l = JSON.stringify(obj);
            this.storage.setItem(key, l);
        },
        //获取数据,传入获取的name
        getItem: function(key) {
            var data = this.storage.getItem(key);
            if(!!data){
                console.warn(‘当前session中没有‘+key+‘这个参数‘);
            }
            return JSON.parse(data);
        },
        //一次获取多个key
        getItems: function(obj) {
            if (typeof obj !== ‘object‘) {
                console.error(‘此方法需要一个对象‘);
                return false;
            }
            var objType = Object.prototype.toString.call(obj);
            //结果用一个对象来表示
            var res = {};
            if (objType === ‘[object Array]‘) {
                for (var i of obj) {
                    let val = this.getItem(i);
                    res[i] = val;
                }
            } else if (objType === ‘[object Object]‘) {
                for (var i in obj) {
                    if (obj.hasOwnProperty(i)) {
                        res[i] = this.getItem(obj[i]);
                    }
                }
            }
            return res;
        }
    }
     return new StorageHandle(opts);
});

调用方法有以下几种

var f=storage();
f.setItem(‘123‘,[1,34,5,6,‘fasd‘])
f.setItem(‘123‘,‘12314234‘);
f.setItem(45,6546456)
console.log(f.getItems([‘123‘,45]))
console.log(f.getItems({a:‘123‘,b:45}))
console.log(f.getItem(‘123‘));

默认是sessionStorage。如果要用localStorage。

在storage方法中传入一个localStorage参数即可

var f=storage(‘localStorage‘);

用了for of 遍历数组和let ,可能兼容不好。有报错改成普通for循环和var

时间: 2024-09-30 06:37:03

对浏览器storage的操作的相关文章

atitit.浏览器web gui操作类库 和 操作chrome浏览器的类库使用总结

atitit.浏览器web gui操作类库 和 操作chrome浏览器的类库使用总结 1. 常见标准 1 1.1. 录制重放 1 1.2. 一个窗体一个proxy cookie 1 1.3. exec js 1 1.4. js 调用java 1 1.5. 修改dom属性 2 1.6. 关键字驱动 2 1.7. 加载js类库 2 1.8. 一个窗口一个代理 2 1.9. 独立窗口cookie 2 1.10. 无图模式支持 2 1.11. 支持自定义路径 2 2. 框架选型selenium2(web

jsp访问浏览器信息、操作系统信息、客户端ip地址

<% String path = request.getContextPath(); String agent = request.getHeader("User-Agent"); String browInfo[] = agent.split(";"); String realBrowser = browInfo[1].trim();//浏览器信息 String osInfo = System.getProperty("os.name")

浏览器—Storage 接口

1.概述 Storage 接口用于脚本在浏览器保存数据.两个对象部署了这个接口:window.sessionStorage和window.localStorage. sessionStorage保存的数据用于浏览器的一次会话(session),当会话结束(通常是窗口关闭),数据被清空:localStorage保存的数据长期存在,下一次访问该网站的时候,网页可以直接读取以前保存的数据.除了保存期限的长短不同,这两个对象的其他方面都一致. 保存的数据都以“键值对”的形式存在.也就是说,每一项数据都有

web爬虫讲解—PhantomJS虚拟浏览器+selenium模块操作PhantomJS

PhantomJS虚拟浏览器 phantomjs 是一个基于js的webkit内核无头浏览器 也就是没有显示界面的浏览器,利用这个软件,可以获取到网址js加载的任何信息,也就是可以获取浏览器异步加载的信息 下载后解压PhantomJS文件,将解压文件夹,剪切到python安装文件夹 然后将PhantomJS文件夹里的bin文件夹添加系统环境变量 cdm 输入命令:PhantomJS 出现以下信息说明安装成功 selenium模块是一个python操作PhantomJS软件的一个模块 seleni

C# 模拟浏览器并自动操作

本文主要讲解通过WebBrowser控件打开浏览页面,并操作页面元素实现自动搜索功能,仅供学习分享使用,如有不足之处,还请指正. 涉及知识点 WebBrowser:用于在WinForm窗体中,模拟浏览器,打开并导航网页. HtmlDocument:表示一个Html文档的页面.每次加载都会是一个全新的页面. GetElementById(string id):通过ID或Name获取一个Html中的元素. HtmlElement:表示一个Html标签元素. BackgroundWorker 后台执行

【神器】vimum在浏览器中键盘操作选择、复制、粘贴,键盘党的最爱

1.下载: http://files.cnblogs.com/files/quejuwen/vimum_extension_1_56.zip 2.开源:https://github.com/philc/vimium 最新版本最大的改变就是可以键盘操作复制粘贴. 1.使用“/text”将选中起点 2.使用“v”命令进入可视模式 3.选择你要的文字 4.使用“y”,复制到系统剪贴板 5.可以任意粘贴了. 官方快捷键参考: Keyboard Bindings Modifier keys are spe

浏览器的DOM操作

操作DOM,首先我们要理解什么事DOM,DOM是指文档对象模型,具体是指网页上XHTML中文档正文标题.段落.列表.样式.ID.class及所有其它出现的数据的一个内部表示.DOM的主要思想是HTML上每个元素分别对应于DOM中的一个节点,DOM定义了许多类型来表示节点的多个方面. 这是JavaScript常用的DOM操作 这是JQuery常用的DOM操作 在DOM树中.每个节点可以有零到多个子节点,但每个子节点只能有一个父节点 性能影响   DOM操作会导致最重要的,也是我们最需要的问题就是导

【转】js监听浏览器离开页面操作

[转]https://www.cnblogs.com/slly/p/7991474.html 序言 大家是否经常遇到在关闭网页的时候,会看到一个确定是否离开当前页面的提示框?想一些在线测试系统.信息录入系统等就经常会有这一些提示,避免用户有意或者无意中关掉了页面,导致数据丢失.这里面的实现过程很简单,利用了HTML DOM事件中的onunload和onbeforeunload方法. unload 事件属性 定义:当用户卸载文档时执行一段 JavaScript,例如: // body<body o

JS 对浏览器相关的操作

// 获取浏览器 宽高 var width = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth var height = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight // 定时器 setInterval() var timerId = s