Dis*_*ame 7 javascript html5 local-storage
我试图覆盖点表示法访问localStorage.我已经设法覆盖了getItem和setItem方法,如下所述:是否可以在HTML5中单独覆盖本地存储和会话存储?
现在我尝试创建一个代理来捕获点访问,但因为我似乎无法覆盖localStorage对象,因为这里尝试
localStorage = new Proxy(localStorage, {
get: function(target, name) {
if (!(name in target)) {
console.log("Getting non-existent property '" + name + "'");
return undefined;
}
return '123';
},
set: function(target, name, value) {
if (!(name in target)) {
console.log("Setting non-existent property '" + name + "', initial value: " + value);
}
target[name] = value;
}
});
Run Code Online (Sandbox Code Playgroud)
现在,当我尝试它时,我仍然得到测试而不是123:
localStorage.testKey = "test";
alert(localStorage.testKey)
Run Code Online (Sandbox Code Playgroud)
如果您在 localStorage 上定义 getter,它应该可以工作:
Object.defineProperty(window, "localStorage", new (function () {
this.get = function() {
console.log("I'm getting called");
}
})());
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
648 次 |
| 最近记录: |