Я хочу перезаписать свой localStorage файлом cookie, когда он не включен в safari (ios9, веб-страница портала), и я получил значение null с window.localStorage
Я попытался определить localStorage с помощью Object.defineProperty(window, 'localStorage', {})
, и я получил ошибку: TypeError: Попытка изменить настраиваемый атрибут неконфигурируемого свойства;
Это похоже на запуск 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, веб-странице портала. но вы можете воспроизвести его в любом браузере Safari с Object.defineProperty(window, 'localStorage', {configurable: false, value: null})