Есть ли способ переопределить методы localStorage
и sessionStorage
объекта из сценария контента? Я пытаюсь запретить встроенный скрипт для очистки хранилищ, выполнив этот код из моего расширения Chrome (скрипт контента, который запускается до загрузки страницы). Код:Переопределение метода хранения из сценария содержимого
// ==UserScript==
// @name StorageSaver
// @match http://barbars.org/*
// @grant none
// @run_at startup
// ==/UserScript==
/* jshint -W097 */
'use strict';
// Your code here...
location.href = "javascript: localStorage.clear = function(){alert('local works!');}";
location.href = "javascript: sessionStorage.clear = function(){alert('session works!');}";
вы можете очистить localStorage без вызова каких-либо методов с помощью delete + for-in ... – dandavis
ваш код работает в консоли на этой странице, поэтому метод clear() может быть перезаписан, кажется, что это просто не получается. – dandavis
Я уверен, что хранилища очищаются каждый раз, когда страница обновляется от встроенного скрипта, который находится в разделе '
'. И этот скрипт использует метод '.clear()' для очистки обоих хранилищ. –