IE 之 userData 模拟 localStorage
引
chrome, safari, firefox, ie 9都支持 localStorage. 但可恶的是,中国 ie 6 占有最大的比例。 使用 cookie 不但容量有限,而且给我们增加了不少的带宽,也进行影响网站的性能。
所以我写了 localStorage.js 来模拟 localStorage, 这样其它js 就跨浏览器地使用localStorage了.
代码
if(!window.localStorage && /MSIE/.test(navigator.userAgent)){
if(!window.UserData) {
window.UserData = function(file_name) {
if(!file_name) file_name="user_data_default";
var dom = document.createElement('input');
dom.type = "hidden";
dom.addBehavior ("#default#userData");
document.body.appendChild(dom);
dom.save(file_name);
this.file_name = file_name;
this.dom = dom;
return this;
};window.UserData.prototype = {
setItem:function(k, v)
{
this.dom.setAttribute(k,v);
this.dom.save(this.file_name);
},
getItem:function(k){
this.dom.load(this.file_name);
return this.dom.getAttribute(k);
},
removeItem:function(k){
this.dom.removeAttribute(k);
this.dom.save(this.file_name);
},clear:function() {
this.dom.load(this.file_name);
var now = new Date();
now = new Date(now.getTime()-1);
this.dom.expires = now.toUTCString();
this.dom.save(this->file_name);
}
};
}
window.localStorage= new window.UserData("local_storage");
}
缺陷
userdata有个缺陷是不支持跨目录存储。
这个实现要求 使用 localStorage的时候,只使用 setItem, getItem, removeItem接口, 而不能直接使用 localStorage.your_key 的方式。
IE 之 userData 模拟 localStorage的更多相关文章
- 如何在 ie6 中使用 "localStorage"
好吧,我只是个标题党,ie6 下根本无法使用跟 h5 沾边的 localStorage.今天要向大家介绍的是 ie 特有的 userData 的存储方式,并且对它进行封装,使得不支持 localSto ...
- localStorage.ie6.js
!window.localStorage && function() { window.localStorage = {}; var prefix = 'data-userdata' ...
- html5移动web开发笔记(一)Web 存储
localStorage - 没有时间限制的数据存储 localStorage 方法 localStorage 方法存储的数据没有时间限制.第二天.第二周或下一年之后,数据依然可用. 用户访问页面的次 ...
- HTML5本地存储 Web Storage
Web Storage基本介绍 HTML5 定义了本地存储规范 Web Storage , 提供了两种存储类型 API sessionStorage 和 localStorage,二者的差异主要是数 ...
- XSS 跨站脚本攻击之ShellCode的调用
1.ShellCode,最初是溢出程序和蠕虫病毒的核心,实际上是指利用一个漏洞是所执行的代码,在XSS跨站脚本中,是指由javascript等脚本编写的XSS利用代码: 2.Exploit,在黑客眼里 ...
- 少部分手机浏览器对于COOKIE支持不够导致服务端无法读取session的解决方案
相信大家都遇到过这样的问题,有手机浏览器的问题导致服务端SESSION读取不正常,目前在项目中的解决方法是采取H5手机本地存储唯一KEY解决的 代码片段 //定义json格式字符串 var userD ...
- 用angular实时获取本地localStorage数据,实现一个模拟后台数据登入的效果
研究了一上午,终于做出了,实时获取本地localStorage来模拟注册登入~~~ <!DOCTYPE html><html><head lang="en&qu ...
- js本地存储解决方案(localStorage与userData)
WEB应用的快速发展,是的本地存储一些数据也成为一种重要的需求,实现的方案也有很多,最普通的就是cookie了,大家也经常都用,但是cookie的缺点是显而易见的,其他的方案比如:IE6以上的user ...
- HTML5本地存储localStorage、sessionStorage及IE专属UserData
By:王美建 from:http://www.cnblogs.com/wangmeijian/p/4518606.html 转载请保留署名和出处! 在客户端存储数据用的最普遍的方式非cookie莫属, ...
随机推荐
- 20155213 2016-2017-2 《Java程序设计》第十周学习总结
20155213 2016-2017-2 <Java程序设计>第十周学习总结 教材学习内容总结 掌握Java Socket编程 理解混合密码系统 掌握Java 密码技术相关API的使用 网 ...
- 20155234 2016-2017-2 《Java程序设计》第1 周学习总结
20155234 2016-2017-2 <Java程序设计>第1 周学习总结 教材学习内容总结 第一周学习了第一章,第一章的内容等同于绪论,向我们介绍了jave的前世今生,以及三大平台. ...
- SQL SERVER 无法正常连接的那些事
1.确保sqlserver服务正常运行. >一般可以从两个地方控制服务,一是系统自带的服务管理器,最快捷的方式是运行“services.msc”,二是使用sqlserver自带的“SQL Ser ...
- WPF 窗口句柄获取和设置
原文:WPF 窗口句柄获取和设置 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/BYH371256/article/details/83347163 ...
- 优步司机如何联系客服?uber客服渠道,Uber优步司机客服渠道
预约客服导航 为了更好的快速.有效地解决您的疑问,Uber优步从今日起开通了在线客服平台.如果您通过司机服务/常见问题没有找到您需要的答案,您可以通过点击下方的“进入在线客服平台”与我们的工作人员在线 ...
- Mysql 5.5从零开始学阅读笔记
第一章 1.什么是数据库? 数据库包含两层含义:保管数据的“仓库”,以及数据管理的方法和技术. 2.表 行被称为记录,列被称为字段 3.主键 primary key,用于唯一标识表中的每一条记录,主键 ...
- 利用 Intel Realsense做SLAM开发(一)
最近手里拿到一台Realsense D435,就是这个: https://click.intel.com/intelr-realsensetm-depth-camera-d435.html 所以准备拿 ...
- 学习笔记之ubuntu修改固定IP脚本
一.shell脚本编程 二.正则表达式 三.linux修改IP的方法 #!/bin/bash cd /etc/network/ stty erase '^?' write_interfaces() { ...
- idea下增加scala
1 idea工具下,下载scala插件 2 idea下新建scala工程 File——New——module 如果按照上图,设置后点击下载,出现下图下载过慢情况下, 这里我选择了等待,大概等了半小时才 ...
- vue cli 3 +jquery
const webpack = require('webpack')module.exports = { // baseUrl type:{string} default:'/' // 将部署应用程序 ...