繁体   English   中英

为什么我不能在IE8(javascript)上扩展localStorage?

[英]Why can't I extend localStorage on IE8 (javascript)?

我想向localStorage添加2个方法。 我的目标是最终得到这样的东西:

localStorage.setObject(key, object);
localStorage.getObject(key);

此解决方案适用于大多数浏览器但不适用于IE8:

Storage.prototype.setObject = function(key, value) {
    this[key] = JSON.stringify(value);
}

Storage.prototype.getObject = function(key) {
    return JSON.parse(this[key]);
}

经过一些研究,显然我可以使用Lawnchair.js或以其他方式解决它。 但我想知道为什么它在IE8中不起作用。 我可以扩展String和Array。 为什么不存储? 如何找出哪些对象可以扩展以及哪些对象无法在IE8中扩展?

这是IE 您也无法扩展DOM元素。 如果有时真的需要调用函数,可以通过Storage.prototype.getObject.call(localStorage, 'hello')

扩展内置对象也不是好事。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM