js本地存储解决方案(localStorage与userData)

WEB应用的快速发展,是的本地存储一些数据也成为一种重要的需求,实现的方案也有很多,最普通的就是cookie了,大家也经常都用,但是cookie的缺点是显而易见的,其他的方案比如:IE6以上的userData,Firefox下面的globalStorage,以及Flash的本地存储,除了Flash之外,其他的几个都有一些兼容性的问题。

sessionStorage与localStorage

Web Storage实际上由两部分组成:sessionStorage与localStorage。

sessionStorage用于本地存储一个会话(session)中的数据,这些数据只有在同一个会话中的页面才能访问并且当会话结束后数据也随之销毁。因此sessionStorage不是一种持久化的本地存储,仅仅是会话级别的存储。

localStorage用于持久化的本地存储,除非主动删除数据,否则数据是永远不会过期的。

userData

语法:

XML  <Prefix: CustomTag ID=sID STYLE="behavior:url(‘#default#userData‘)" />

HTML  <ELEMENT STYLE="behavior:url(‘#default#userData‘)" ID=sID>

Scripting  object .style.behavior = "url(‘#default#userData‘)"

object .addBehavior ("#default#userData")

属性:

expires 设置或者获取 userData behavior 保存数据的失效日期。

XMLDocument 获取 XML 的引用。

方法:

getAttribute() 获取指定的属性值。

load(object) 从 userData 存储区载入存储的对象数据。

removeAttribute() 移除对象的指定属性。

save(object) 将对象数据存储到一个 userData 存储区。

setAttribute() 设置指定的属性值。

localStorage

方法:

localStorage.getItem(key):获取指定key本地存储的值

localStorage.setItem(key,value):将value存储到key字段

localStorage.removeItem(key):删除指定key本地存储的值

<input id="localDataHook" type="text" />
<input type="button" id="clearBtnHook" value="清除" />
<script type="text/javascript">// <![CDATA[
(function(){
    window.localData = {
        hname:location.hostname?location.hostname:‘localStatus‘,
        isLocalStorage:window.localStorage?true:false,
        dataDom:null,

        initDom:function(){
            if(!this.dataDom){
                try{
                    this.dataDom = document.createElement(‘input‘);
                    this.dataDom.type = ‘hidden‘;
                    this.dataDom.style.display = "none";
                    this.dataDom.addBehavior(‘#default#userData‘);
                    document.body.appendChild(this.dataDom);
                    var exDate = new Date();
                    exDate = exDate.getDate()+30;
                    this.dataDom.expires = exDate.toUTCString();
                }catch(ex){
                    return false;
                }
            }
            return true;
        },
        set:function(key,value){
            if(this.isLocalStorage){
                window.localStorage.setItem(key,value);
            }else{
                if(this.initDom()){
                    this.dataDom.load(this.hname);
                    this.dataDom.setAttribute(key,value);
                    this.dataDom.save(this.hname)
                }
            }
        },
        get:function(key){
            if(this.isLocalStorage){
                return window.localStorage.getItem(key);
            }else{
                if(this.initDom()){
                    this.dataDom.load(this.hname);
                    return this.dataDom.getAttribute(key);
                }
            }
        },
        remove:function(key){
            if(this.isLocalStorage){
                localStorage.removeItem(key);
            }else{
                if(this.initDom()){
                    this.dataDom.load(this.hname);
                    this.dataDom.removeAttribute(key);
                    this.dataDom.save(this.hname)
                }
            }
        }
    }

    var text = document.getElementById(‘localDataHook‘);
    var btn = document.getElementById(‘clearBtnHook‘);
    window.onbeforeunload = function(){
        localData.set(‘beiyuuData‘,text.value);
    }
    btn.onclick = function(){localData.remove(‘beiyuuData‘);text.value=‘‘};
    if(localData.get(‘beiyuuData‘)){
        text.value = localData.get(‘beiyuuData‘);
    }
})()
// ]]>
</script>
时间: 2024-08-01 03:30:26

js本地存储解决方案(localStorage与userData)的相关文章

js本地存储:localStorage

一.简介 localStorage会可以将第一次请求的数据直接存储到本地,这个相当于一个5M大小的针对于前端页面的数据库 --注意:在IE8以上的IE版本才支持localStorage这个属性.localStorage属于永久性存储,如果存储内容多的话会消耗内存空间,会导致页面变卡. 二.具体使用方式如下: 1.localStorage - 没有时间限制的数据存储 var arr=[1,2,3]; localStorage.setItem("temp",arr); //存入 参数: 1

html5本地存储(localStorage)使用介绍

1.html5几种存储形式 本地存储(localStorage && sessionStorage) 离线缓存(application cache) indexedDB 和 webSQL 2.localStorage && sessionStorage 过期时间:localStorage 永久存储,永不失效除非手动删除 sessionStorage 浏览器重新打开后就消失了 大小:每个域名是5M 3.localStorage API和sessionStorage API一致

(转)HTML5开发学习(2):本地存储之localStorage 、sessionStorage、globalStorage

原文:http://www.cnblogs.com/xumingxiang/archive/2012/03/25/2416386.html HTML5开发学习(2):本地存储之localStorage .sessionStorage.globalStorage   Posted on 2012-03-25 11:23 祥叔 阅读(2) 评论(0)  编辑 收藏 HTML5 提供了四种在客户端存储数据的新方法,即 localStorage .sessionStorage.globalStorage

本地存储 使用localStorage 存储数据

新建项目(不知道怎么新建项目?参考文章:vue-cli3 搭建vue项目) 目录结构 界面显示 添加store.js export default { fetch: (key) => JSON.parse(window.localStorage.getItem(key)), save: (data, key) => window.localStorage.setItem(key, JSON.stringify(data)), }; 将两个操作localStorage的函数export出去.需要

h5的本地存储——sessionStorage,localStorage

HTML5 提供了两种在客户端存储数据的新方法: localStorage - 没有时间限制的数据存储 sessionStorage - 针对一个 session 的数据存储 SessionStorage, LocalStorage, Cookie这三者都可以被用来在浏览器端存储数据,localStorage和sessionStorage都是本地存储. Cookie会在每次发送HTTP请求时附加到Cookie头字段,服务器以此得知用户所处的状态. Web Storage的概念和cookie相似,

web本地存储(localStorage、sessionStorage)

对浏览器来说,使用 Web Storage 存储键值对比存储 Cookie 方式更直观,而且容量更大,它包含两种:localStorage 和 sessionStorage sessionStorage(临时存储) :为每一个数据源维持一个存储区域,在浏览器打开期间存在,包括页面重新加载 localStorage(长期存储) :与 sessionStorage 一样,但是浏览器关闭后,数据依然会一直存 1. 保存数据到本地 sessionStorage.setItem('key', '你的数据'

JS本地存储信息的实现方式(localStorage 与 userData)

详细介绍请看: http://www.cnblogs.com/beiyuu/archive/2011/07/20/js-localstorage-userdata.html 里面涉及到的 demo 代码如下: <script type="text/javascript"> (function() { window.localData = { hname : location.hostname ? location.hostname : 'localStatus', isLo

js——本地存储

1. cookie 容量小:4k,在同源的http请求时携带传输,占用带宽,有日期限制 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <script type="text/javascript" src="js/jquery-1.12.4.

持久化的本地存储,localStorage

1.得到localStorage var storage = window.localStorage; 2.创建 storage.setItem("名称","值") 3.获取 storage.getItem("名称") 4.删除 storage.removeItem("名称") 5.清空所有 storage.clear() ;