[英]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.