跨浏览器的本地存储(一):userData behavior
作者:blank 来源:怿飞blog 发布时间:2008-08-05 18:13:00
前言
现在最流行的本地存储莫过于 cookie 的应用,但浏览器对 cookie 有很多限制,最大的限制在于其对cookie 总大小,仅为 4K 左右(包括名(name)、值(value)和等号)。
对于复杂一点的应用和需求,仅有的 4K 大小还是有点相形见绌,其实很多浏览器(IE、Firefox、Safari)本身也提供了自己的本地存储的功能,或许在特定的环境下能满足我们。
一、userData behavior
浏览器支持:IE5.0 或以上
基本语法:
XML:<Prefix: CustomTag id=sID style=”behavior:url(’#default#userData’)” />
HTML:
<ELEMENT style=”behavior:url(’#default#userData’)” id=sID>
object.style.behavior = “url(’#default#userData’)”Script: object.addBehavior (”#default#userData”)
属性:
expires —— 设置或者获取 userData behavior 保存数据的失效日期。
XMLDocument —— 获取 XML 的引用。
方法:
getAttribute() —— 获取指定的属性值。
load(object) —— 从 userData 存储区载入存储的对象数据。
removeAttribute() —— 移除对象的指定属性。
save(object) —— 将对象数据存储到一个 userData 存储区。
setAttribute() —— 设置指定的属性值。
备注:
1、从安全方面考虑,一个 userData 存储区只能用于同一目录和对同一协议进行存储。
2、如果使用 userData behavior 不正确可能会对你的应用造成危害,userData 存储区中的数据没有加密因而不安全的。任何可以访问 UserData 保存磁盘的应用都可以访问该数据,所以,推荐不要保存敏感的数据,比如信用卡号,详细:《Security Considerations: DHTML and Default Behaviors》
3、userData behavior 会跨 session 存储信息到存储区,这提供了动态的数据结构和比 cookie(一般 4KB) 更大的容量。userData 存储区的容量依赖于 domain 的安全域。下表显示的是 userData 存储最大容量,对单独文档和整个域名的所有文档都适用,但基于安全域。
Security Zone | Document Limit (KB) | Domain Limit (KB) |
---|---|---|
Local achine | 128 | 1024 |
Intranet | 512 | 10240 |
Trusted Sites | 128 | 1024 |
Internet | 128 | 1024 |
Restricted | 64 | 640 |
4、如果设置 userData behavior 到 html、head、title 或者 style 对象上,当 save 和 load 方法被调用时会出错。如果必须设置到 style 中,可以设置内联或者文档头,例如:
<style>
.storeuserData {behavior:url(#default#userData);}
</style>
5、对于 userData behavior 来说 ID 是可选的,但是如果有,则会改善执行性能。
6、userData 可以将数据以 XML 格式保存在客户端计算机上,一般保存在 C(WIN 系统盘):\Documents and Settings\XXX\UserData\ 文件夹下。
7、userData 数据一直存在,除非认为删除或者用脚本设置该数据的失效日期(expires)。
大部分翻译自:《userData Behavior》


猜你喜欢
- 今天继续给大家介绍MySQL相关知识,本文主要内容是MySQL外键约束详解。一、MySQL外键约束作用外键约束(Foreign Key)即数
- 一、先来看备份mysql数据库的命令mysqldump -u root --password=root --database abcData
- zip文件是我们经常使用的打包格式之一,python解压和压缩zip效率非凡。 python解压zip文档:#/usr/bin/python
- CSS代码更清晰高效的一些经验是许多网页制作者与开发者都关心的问题。但是大概没有什么魔法,可以保证一下就把你的样式表缩小到百分之多少,合理的
- 如下所示:lists = ['tom','Jack','luCy','lily
- 一、urllib 和 urllib2的关系在python2中,主要使用urllib和urllib2,而python3对urllib和urll
- 数据库优化有很多可以讲,按照支撑的数据量来分可以分为两个阶段:单机数据库和分库分表,前者一般可以支撑500W或者10G以内的数据,超过这个值
- Jquery中的一些东西学习一下子,补充完善一下,毕竟有些时候没有使用到这个方式很有用,在使用bootstrap table的时候,选择当前
- 先上代码:import tensorflow as tfx = tf.ones(shape=[100, 200], dtype=tf.int
- HttpRouter是一个轻量级但却非常高效的multiplexer。手册:https://godoc.org/github.com/jul
- 当一个 .txt 文件的数据过于庞大,此时想要对数据进行排序就需要先将数据进行切割,然后通过归并排序,最终实现对整体数据的排序。要实现这个过
- 画之前肯定要知道规格图,我找了一个大致的图。参考图片:绘制大星的方法很简单,五角星的补角是144度。绘制小五角星有点麻烦,因为我国国旗上的小
- 1. 连接对象操作数据库之前,首先要建立数据库连接。有下面几个方法进行连接。>>>import cx_Oracle>
- 1、涉及到图的对比会用到子图形式展示,先看看效果2、绘制代码如下accuracy_alexnet_clef = [78.05, 78.43,
- 1、调用字符映射表输入特殊符号在键盘上按win+R,在打开的对话框中输入“charmap”,会出现字符映射表:2、利用字符编码输入特殊符号#
- 场景一、有一个输入金额的场景,这个金额需要验证,验证说明如下:不能为空格;不能为0;不能为汉字;不能为其它字符;不能大于200;唯一可以的是
- 字典由多个键及与其对应的值构成的对组成(把键值对成为项),每个键和它的值之间用冒号(:)隔开,项之间用逗号(,)隔开,而整个字典由一对大括号
- 在程序运行的过程中,所有的变量都是在内存中,比如,定义一个dict:d = dict(name='Bob', age=20,
- 如何用Cookie进行登录验证?很简单,看看这两个文件:login.htm请注册登录随风起舞<FORM ACTION=&qu
- 目录楔子paramikoSSHClient 的使用connect:实现远程服务器的连接与认证set_missing_host_key_pol