make how google for extensions extension example developer create chrome google-chrome google-chrome-extension content-script

google chrome - how - Diferencia entre script de fondo y script de contenido en la extensión de Chrome



how to do a chrome extension (1)

Como dice la pregunta, solo quiero saber la diferencia entre el script de fondo y el script de contenido en la extensión de Chrome. Cuando registré el objeto Chrome en ambos scripts, encontré los diferentes objetos.

Caso de uso

Quiero insertar mi javascript en la página cuando se hace clic en el icono. Entonces, en manifest.json agregué un script de contenido, pero no puedo escuchar el evento de clic de icono dentro del script de contenido.

chrome.browserAction no está definido en el objeto Chrome en el script de contenido.

Pregunta

¿Cómo puedo escuchar el evento click en el script de contenido? ¿Podemos incluir guiones de fondo y de contenido?

Este es mi manifiesto.json

{ "name": "First Plugin Testing", "version": "1.0", "manifest_version": 2, "description": "Trying hands on first extension", "background": { "scripts": ["background.js"] }, "browser_action": { "default_icon": "icon.png" }, "permissions": [ "tabs", "http://*/*", "https://*/*" ], "content_scripts": [ { "matches": ["http://*/*"], "js": ["temp.js"] } ] }


He encontrado la respuesta a las preguntas.

A. ¿Podemos incluir tanto script de contenido como script de fondo?

, podemos incluir tanto las secuencias de comandos de fondo como las de contenido en manifiesto. Para interactuar entre ellos, puedes usar la API de Chrome Message Passing .

Estaba haciendo lo mismo, pero había un error en el script de fondo que no pude ver, por lo tanto, publiqué esta pregunta después de buscar en Google.

B. ¿Cómo puedo escuchar el evento click en el script de contenido?

Solución: no podemos tener un browser click event en el browser click event en el script de contenido. Solo tiene acceso parcial al objeto chrome. De modo que debe recibir el manejador de clics en el script de fondo y enviar el mensaje al script de contenido y hacer lo que desee.

Use el evento chrome.browserAction.onClicked en la secuencia de comandos de fondo y luego use el mensaje que pasa para enviar la información a la secuencia de comandos de contenido en la que el usuario hizo clic en el icono.