当我在safari(ios9,门户网站网页)中未启用cookie时,我想用cookie覆盖localStorage,而我用window.localStorage
却得到null
我尝试用Object.defineProperty(window, 'localStorage', {})
定义localStorage,但出现错误:TypeError:试图更改unconfigurable属性的可配置属性;
就像在野生动物园中运行Object.defineProperty(window, 'localStorage', {configurable: false, value: null})
一样。然后我无法获取localStorage或将其覆盖。
您可以在野生动物园中运行它。
Object.defineProperty(window, 'localStorage', {configurable: false, value: null}).
然后,我已经尝试过这种方法,但是没有任何效果。
Object.defineProperty(window, 'localStorage', {configurable: true, value: {}). // TypeError: Attempting to change configurable attribute of unconfigurable property.
localStorage.setItem = function(){} // TypeError: null is not an object (evaluating 'localStorage.setItem = function(){}').
我该如何解决?即使使用 proto 或更高版本。
我在ios9门户网站页面中发现此问题。但您可以使用Object.defineProperty(window, 'localStorage', {configurable: false, value: null})
答案 0 :(得分:0)
您正尝试用空白对象替换localStorage API 。如果可以的话,它将破坏页面中的localStorage,而不是清空存储的数据。
要重置它,请使用TextBox
。