DOM 存储(DOM Storage)简介

DOM 存储 API提供了一种以安全的方式在客户端永久保存数据的方法:sessionStorage 和 localStorage。这些对象是HTML 5规范的一部分,在Internet Explorer 8初次引入,Firefox 2.0也支持此对象。以前的IE版本,要在客户端保存数据,有两种方法,Cookie和userData行为。DOM 存储为浏览器离线工作打下了基础。

DOM 存储与HTTP Cookie一样,网页开发人员可以使用DOM存储以名称/值对的方式存储每个回话或者指定域的数据。但DOM存储与 Cookie有很大的区别,它更容易控制信息的存储。Cookie存储的数据是很受限制的,比如在IE中,只能存储4KB大小的数据,最大20个名称/对,而 DOM 存储可以为每个存储区域提供大到10M 的存储空间。从功能上讲,客户端的存储区域与Cookie也非常不一样,DOM存储在每次请求时不会将值发送到服务器,本地存储存储的数据也永远不会过期,并且以一种标准的接口轻松访问每个信息。

window.sessionStorage

Session 存储用在用户执行单个事务的情形。window的sessionStorage属性维护着在单个标签的生命周期内所加载的全部页面的名称/对信息。比如,在订票时有一个复选框供用户选择是否需要保险:

  1. <label><inputtype="checkbox"onchange="sessionStorage.insurance=checked">我需要保险</label>

后面的页面就可以通过脚本进行检测用户是否选择了保险

  1. if(sessionStorage.insurance){...}

Storage 对象支持伪属性,名称/值对存储的必须是字符串,其他类型的数据都必须转成字符串保存。

一旦一个值保存到到了sessionStorage里面,它就可以在同一上下文的其他页面得到,当页面加载时,sessionStorage会从内存中进行初始化。注意:IE8在浏览器崩溃恢复后sessionStorage将不再可用。

window.localStorage

localStorage 属性提供domain范围的永久存储,允许存储10M的用户数据,例如,下面是用户访问一个页面的次数的记录:

  1. <p>访问次数:<spanid="count">未知</span></p>
  2. <script>
  3. varstorage=localStorage[location.hostname];
  4. if(!storage.pageLoadCount)storage.pageLoadCount=0;
  5. storage.pageLoadCount=parseInt(storage.pageLoadCount,10)+1;
  6. document.getElementById('count').innerHTML=storage.pageLoadCount;
  7. </script>

每个域名和子域名有他们自己独立的本地存储区域。主域可以访问子域的存储区域,子域也可以访问父域的存储区域。例如:主域的localStorage["aspx.cc"]可以被aspx.cc及其子域访问,子域的localStorage["www.aspx.cc"]可以被aspx.cc访问,但不能被其他子域访问,如dotnet.aspx.cc。

相关文章:
Firefox 中的DOM 存储
https://developer.mozilla.org/en/DOM/Storage
https://developer.mozilla.org/cn/DOM/Storage

Flash中的本地存储
http://www.macromedia.com/support/documentation/en/flashplayer/help/help02.html

Silverlight中的本地存储

http://msdn.microsoft.com/en-us/library/system.io.isolatedstorage%28VS.95%29.aspx

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Chrome插件的popup.html中操作页面的DOM元素,需要使用JavaScript来完成。下面是一个简单的操作步骤: 1. 首先,在popup.html文件中引入一个自定义的JavaScript文件,可以在<script>标签中加入`<script src="popup.js"></script>`,确保该文件存在于插件的目录中。 2. 在popup.js文件中,可以使用document.getElementById()等DOM操作方法来获取需要操作的DOM元素。例如,如果要获取页面上的一个按钮元素,可以使用以下代码: ```javascript var button = document.getElementById('myButton'); ``` 需要注意的是,这里的'myButton'应该是需要在popup.html中定义的DOM元素的id属性。 3. 获取到DOM元素后,就可以对其进行各种操作了。例如,如果要修改按钮的文本内容,可以使用以下代码: ```javascript button.innerHTML = '新文本'; ``` 如果要隐藏按钮,可以使用以下代码: ```javascript button.style.display = 'none'; ``` 4. 在完成操作后,可以通过事件监听器或直接调用函数等方式,将修改后的结果反映到插件的popup界面上。 需要注意的是,由于popup.html是浮动页面,在每次打开插件时都会重新加载,因此对于需要长期保持的跨页面数据操作,可以使用Chrome插件中的其它持久化存储方式(如chrome.storage)来实现。 总之,通过以上步骤,我们可以在Chrome插件的popup.html中操作页面的DOM元素,实现各种动态效果和交互功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值