Добавление события нажатия на кнопку в расширении Chrome - PullRequest
0 голосов
/ 18 октября 2018

Я хочу добавить событие щелчка к элементу кнопки, который я добавил динамически в функцию события chrome.tabs.onUpdated, запустив функцию executeScript.

chrome.tabs.onUpdated.addListener(() => {
  chrome.tabs.executeScript(null, {file: "execute.js" });
})

Я добавлю функцию события щелчка к динамическидобавлен элемент кнопки с этим кодом внутри исполняемого файла execute.js, но он не работает;

var btnComment=document.createElement('button');
btnComment.addEventListener('click',function(){
  console.log('btnComment worked')
});

Я использую внутри страницы background.html запрос к файлу background.js.Как я могу реализовать эту функцию?

Ответы [ 2 ]

0 голосов
/ 19 октября 2018

Есть ли в вашем backround.html это?

<script src="background.js"></script>

Обратите внимание, что вы создаете свою кнопку в execute.js, но ваш html использует background.js, поэтому в вашем файле background.js вам понадобитсяэто:

function onButtonClicked (){
  console.log('btnComment worked');
}

document.getElementById('button').addEventListener('click', onButtonClicked());

кстати, я также все еще изучаю расширения Google Chrome.

0 голосов
/ 19 октября 2018

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

try

document.getElementById('button').addEventListener('click',function(){
   console.log('btnComment worked')
});

Более подробную информацию о объектной модели документа можно найти здесь: https://www.w3schools.com/js/js_htmldom.asp

РЕДАКТИРОВАТЬ: орфография

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