【发布时间】:2011-09-19 17:56:05
【问题描述】:
我想通过在每次获取/存储设置时执行一些代码来扩展localStorage。我可以为localStorage 的所有现有属性定义一个getter/setter,但问题在于新设置。
例如,localStorage['somenewsetting'] = 123 创建一个新设置。我想为这个属性自动定义一个 getter/setter,这样我的添加代码也可以为新设置执行。
基本上我需要Object.watch,但对于所有属性。我找到的是__noSuchMethod__,但它在 Chrome 上不可用。这种方法有可用的垫片吗?或者还有其他方法可以查看对象的所有属性吗?
同样,我需要在 Chrome 上完成这项工作。
【问题讨论】:
-
如何使用
setItem访问所有作业。我为localStorage/sessionStorage编写了一个包装器/外观类,用于序列化RegExps 甚至字符串(作为带引号的字符串)并反序列化普通对象Dates 和RegExps。您可以这样做,以在setItem代理函数中添加附加代码。
标签: javascript object local-storage getter-setter nosuchmethod