Javascript Объект существует, но когда я звоню, ключ возвращается неопределенным - PullRequest
0 голосов
/ 17 января 2020

Я не задаю вопрос, потому что я наконец решил его, но я опубликую его sh, так как я потратил больше трех часов, пытаясь выяснить это.

СИТУАЦИЯ

Я разрабатываю расширение Chrome и хочу позволить пользователю изменять настройки Chrome на странице "options. html".

Расширение загружает текущую конфигурацию как объект options.js:

let myConfiguration = new Object()
myConfiguration = getCurrentConfig() 

Если я вызову мою переменную myConfiguration в моем options.js, я получу пустой объект:

console.log(myConfiguration)
// Output: {}

Если я вызываю свою переменную из devtools, я получаю объект:

console.log(myConfiguration)
// Output: {key1: value1, key2: value2,...}

Это сводило меня с ума. Смотрите ответ ниже.

1 Ответ

0 голосов
/ 17 января 2020

Решение

Проблема в том, что когда я вызываю переменную из файла options.js, ей все равно не присваивается ее значение. Но когда я проверяю консоль на devtools, моей переменной присваивается значение.

Решение состоит в том, чтобы вызвать функцию, которая присваивает переменной ее значение из нового файла "js", и поместить этот файл перед de body. тег на странице options.html.

Надеюсь, это поможет кому-то потратить 3 часа на игры с кодом javascript.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...