@erik_mikoyan
Самопровозглашенный программист

Как использовать 1 localstorage на 2 js файла?

Как использовать 1 localstorage на 2 js файла?
У меня есть расширение, и мне нужно там связать localstorage между файлом отвечающим за изменение открытой страницы и файлом отвечающим за интерфейс. Как это сделать?
  • Вопрос задан
  • 134 просмотра
Пригласить эксперта
Ответы на вопрос 2
IceRD
@IceRD
localstorage может работать со всеми вашими js файлами в пределах одного домена.
Если вы объявили переменную в пределах приложения, она будет видна только в пределах приложения.
// указали данные
localStorage.setItem('val', '1');

// в нужном месте забрали 
localStorage.getItem('val');
Ответ написан
dollar
@dollar
Делай добро и бросай его в воду.
Контент скрипт расширения работает как часть сайта, то есть отдельно от самого расширения. Поэтому используется localStorage сайта. Причем, у каждого сайта свой localStorage, и контент скрипт может быть привязан к нескольким или ко всем сайтам. Интересно, какой логикой должен руководствоваться браузер, чтобы связать localStorage какого-то одного сайта из многих и localStorage браузерного расширения воедино?

В общем, чтобы обмениваться информацией между контент скриптом и расширением, нужно использовать сообщения. Для этого нужно добавить в расширение фоновую страницу, и там сделать обработчик сообщений. Таким образом, фоновая страница выступает как бы сервером, а каждый контент скрипт на любом сайте - клиентом.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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