addEventListener не работает с расширением Chrome - PullRequest
0 голосов
/ 20 июня 2020

Я добавил addEventListener в свое окно, но он возвращает следующие ошибки:

Uncaught TypeError: не удалось выполнить 'addEventListener' в 'EventTarget': требуется 2 аргумента, но присутствует только 1 . at

window.addEventListener('DOMContentLoaded', setUpStuff, false);

Другая ошибка:

Uncaught TypeError: невозможно прочитать свойство addEventListener, имеющее значение null (at:

 optionsButton.addEventListener('click', function() {

Вот код:

window.addEventListener('DOMContentLoaded', setUpStuff, false);
function setUpStuff(){
    let optionsButton = document.getElementById('#go-to-options');
    optionsButton.addEventListener('click', function() {
        if (chrome.runtime.openOptionsPage) {
          chrome.runtime.openOptionsPage();
        } else {
          window.open(chrome.runtime.getURL('options.html'));
        }
      });
}

1 Ответ

2 голосов
/ 20 июня 2020

Вы должны добавить событие, при выполнении которого функция будет запускаться. И getElementById принимает идентификатор, а не селектор, поэтому вам нужно удалить #:

window.addEventListener('DOMContentLoaded', setUpStuff, false);
function setUpStuff(){
    let optionsButton = document.getElementById('go-to-options');
    optionsButton.addEventListener('click', function() {
        if (chrome.runtime.openOptionsPage) {
          chrome.runtime.openOptionsPage();
        } else {
          window.open(chrome.runtime.getURL('options.html'));
        }
      });
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...