#jquery #google-chrome #local-storage
#jquery #google-chrome #локальное хранилище
Вопрос:
Я пытаюсь извлечь массив черного списка из опций расширения Chrome, которое я создаю. Код для сохранения работает просто отлично. Однако, когда я пытаюсь загрузить информацию, я не могу добраться до нее.
chrome.storage.local.get('value', function (result) {
var BlackList = result.value.split(",");});
По какой-то причине остальная часть скрипта не может получить доступ к переменной BlackList.
Комментарии:
1. Как доступ к переменной имеет отношение к локальному хранилищу? Если вы замените 2-ю строку на
var BlackList = ['just', 'an', 'array'];
— будет ли у «остальной части скрипта» доступ к нему? PS: имеет смысл использовать некоторые надежные механизмы сериализации (например, json) вместо того, чтобы изобретать что-то новое.2. Вы объявили свою
BlackList
переменную внутри функции обратного вызова, поэтому она локальна для этой функции .3. Похоже
chrome.storage
, что API является асинхронным, поэтому «остальная часть скрипта» должна выполняться после обратного вызова.4. @numbers1311407: даже если он был синхронным — это все равно другая область.
5. Не имел в виду, что это не так, просто означало, что определение переменной за пределами этой области и вызов
get
как написано ничего не решат.