首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在HTML5中,localStorage对象是按页/域隔离的吗?

在HTML5中,localStorage对象是按页/域隔离的吗?
EN

Stack Overflow用户
提问于 2010-11-17 11:33:57
回答 2查看 82.2K关注 0票数 200

HTML5 localStorage对象是按页面/域隔离的吗?我想知道我如何命名localStorage密钥。我需要单独的前缀吗?或者我可以给它们起任何我想要的名字?

EN

回答 2

Stack Overflow用户

发布于 2017-07-18 01:39:43

正如其他人指出的那样,localStorage对于每个协议、主机和端口都是唯一的。如果你想要一种方便的方式来控制你的前缀键存储,我建议使用localDataStorage

它不仅通过为键添加前缀来帮助在同一域中执行分段共享存储,它还透明地存储javascript数据类型(数组、布尔值、日期、浮点数、整数、字符串和对象),提供轻量级数据混淆,自动压缩字符串,并促进按键(名称)查询以及按(键)值查询。

免责声明我是实用程序/DISCLAIMER的作者

示例:

代码语言:javascript
复制
// instantiate our first storage object
// internally, all keys will use the specified prefix, i.e. passphrase.life
var localData = localDataStorage( 'passphrase.life' );

localData.set( 'key1', 'Belgian' )
localData.set( 'key2', 1200.0047 )
localData.set( 'key3', true )
localData.set( 'key4', { 'RSK' : [1,'3',5,'7',9] } )
localData.set( 'key5', null )

localData.get( 'key1' )   -->   'Belgian'
localData.get( 'key2' )   -->   1200.0047
localData.get( 'key3' )   -->   true
localData.get( 'key4' )   -->   Object {RSK: Array(5)}
localData.get( 'key5' )   -->   null


// instantiate our second storage object
// internally, all keys will use the specified prefix, i.e. prismcipher.com
var localData2 = localDataStorage( 'prismcipher.com' );

localData2.set( 'key1', 123456789 )  // integer

localData2.get( 'key1' )   -->   123456789

正如您所看到的,原始值是受尊重的,您可以创建多个实例来控制存储。

票数 7
EN

Stack Overflow用户

发布于 2011-10-14 12:05:56

正如尼克所说,它在域中的任何地方都可用,作为替代方案,sessionStorage的工作方式略有不同,因为它与浏览器窗口本身截然不同。也就是说,相同域上其它选项卡或窗口不能访问存储对象的相同副本。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4201239

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档