El botón Javascript onClick no funciona en la ventana emergente de Chrome

(enlace a git: https://github.com/Boundarybreaker/NameBlock )

Estoy trabajando en una extensión de reemplazo de texto que puede activarse y desactivarse con un botón que se hace clic en popup.html , pero solo ocurre cuando hago clic en el icono. (video: https://drive.google.com/file/d/0B_3pLT_KI8V8OHJFUHQ5a1JURkE/view?usp=sharing )

El código para el botón lee , y toggleActive() es una función en background.js , junto con un oyente chrome.runtime.onMessage.addListener(toggleActive); . ¿Cómo hago para que el botón funcione correctamente?

onclick es un tipo de script en línea, por lo que está prohibido en la ventana emergente.

Use myButton.addEventListener('click',toggleActive); en su popup.js Obtenga myButton de la forma habitual, agregando un id a su html y utilizando document.getElementById , o getElementsByClassName, querySelectorAll o cualquier otra forma.

toggleActive definido en popup.js puede enviar un mensaje a background.js, donde el oyente llamaría toggleActive de toggleActive , o simplemente puede obtener la página de fondo con chrome.runtime.getBackgroundPage o chrome.extension.getBackgroundPage (el primero es async, el último está sincronizado, devolviendo el objeto de fondo de la ventana) y llame a su fondo para toggleActive desde aquí, como esto:

var bkg=chrome.extenstion.getBackgroundPage(); bkg.toggleActive();

Es decir, si realmente necesita definir su toggleActive en segundo plano en lugar de una ventana emergente.

Creo que deberías hacer eso:

  

Te olvidas de los paréntesis después de un clic.