@Dmitry221060

Как получить доступ к LocalStorage?

Есть некий сайт, который после загрузки удаляет window.localStorage, копируя его в локальную переменную. Примерно так:
(function () {
    let LS = window.localStorage;
    delete window.localStorage;
})();

Я пробовал решить проблему следующим образом -
// ==UserScript==
// @name         Get LS
// @run-at       document-start
// @grant        window.localStorage
// ==/UserScript==

(function() {
    'use strict';
    const LS = window.localStorage;
    console.log(LS);
})();

Но он работает через раз. Иногда сайт успевает удалить localStorage, иногда нет.

Вопрос: Как гарантированно скопировать локальное хранилище?
  • Вопрос задан
  • 1274 просмотра
Решения вопроса 1
Vlad_IT
@Vlad_IT Куратор тега JavaScript
Front-end разработчик
Вам нужно сделать так, чтобы скрипт выполнялся сразу при создании окна, где-то до начала загрузки скриптов, в самом верху.
Есть еще такой трюк, как создание пустого iframe и извлечение из его глобального объекта window нужного свойства.
var iframe = document.createElement("iframe");
iframe .style.display = "none";
document.documentElement.appendChild(iframe);
var localStorage = iframe.contentWindow.localStorage;
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы