Хм, я могу подумать о нескольких вещах.
Вы говорите, что это работает во вкладке и во всплывающем окне.Это очень странно, потому что это не должно (если под вкладкой подразумевается контентный скрипт).Сценарии содержимого могут получить доступ только к localStorage, который принадлежит внедренному сайту.Всплывающее окно, фон, страницы параметров и любая другая страница из папки расширения могут получить доступ только к собственному локальному хранилищу расширения.Эти два локальных хранилища и полностью разделены.Так, может быть, вы проверяете неправильное localStorage?
Чтобы увидеть собственный localStorage расширения, вам нужно проверить фон или всплывающую страницу и проверить вкладку ресурсов в инспекторе.Чтобы проверить скрипт сайта или контента localStorage, вам нужно открыть на странице обычный инспектор.
Второй момент - это то, что ваше назначение localStorage может быть не тем, что вы ожидаете.
var lastId = 5;
localStorage['lastId'] = lastId;
вы получите значение 5
, присвоенное lastId
свойству.Итак, чтобы прочитать записанное значение, вам нужно выполнить:
alert(localStorage['lastId']); //not localStorage['5']
Если вы хотите хранить массивы, вам нужно будет сериализовать / десериализовать их через JSON, так как localStorage может хранить только строки.