Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

227
Visualizações
Cómo activar/desactivar la extensión de Chrome con atajos de teclado (desarrollo)

Estoy tratando de configurar un atajo de teclado para activar/desactivar mi extensión de Chrome que estoy desarrollando. La extensión de Chrome solo consiste en un "content_script" que se ejecuta en ciertos sitios. Quiero que active/desactive completamente la extensión, como si la deshabilitara a través de Chrome://extensions.

En mi búsqueda de respuestas, vi muchas sugerencias para agregar "_execute_browser_action" a mi manifest.json, pero creo que este comando requiere un oyente que debe configurarse en background.js (corríjame si me equivoco) . Quiero evitar un background.js si es posible, ya que quiero que esta extensión sea corta y agradable.

Aquí está mi manifest.json:

 { "manifest_version": 2, "name": "foo", "description": "foo", "version": "0.1.0", "commands": { "_execute_browser_action": { "suggested_key": { "default": "Ctrl+Shift+8" } } }, "content_scripts": [{ "js": ["./dist/bundle.js"], "matches": [ ...certain sites... ] }], "icons": { "16": "/icons/logo16.png", "32": "/icons/logo32.png", "48": "/icons/logo48.png", "128": "/icons/logo128.png" } }

Con este manifest.json, el acceso directo aparece en Chrome://extensions/shortcuts, pero el acceso directo no hace nada. Cuando presiono la combinación, no pasa nada. Incluso cuando actualizo la página, vuelvo a cargar la extensión, vuelvo a agrupar, reinicio Chrome, etc.

¿Cómo debo hacer para agregar este atajo de teclado?

Además, estoy usando Babel/Webpack, si eso ayuda.

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Terminé resolviendo mi propio problema. Actualizando aquí en caso de que ayude a alguien más.

Resulta que un background.js era exactamente lo que estaba buscando. Mi secuencia de comandos en segundo plano establece un campo API chrome.storage, activado por browserAction, que luego mi content_script ingiere para activarlo o desactivarlo. Luego, la página se actualiza para actualizar el html de la página. (Inspiración tomada de aquí )

fondo.js:

 var x = true enableBrowserAction() function disableBrowserAction() { chrome.storage.local.set({enabled: false}) } function enableBrowserAction() { chrome.storage.local.set({enabled: true}) } function updateState() { if (x == false) { x = true enableBrowserAction() } else { x = false disableBrowserAction() } chrome.tabs.reload() } chrome.browserAction.onClicked.addListener(updateState)

manifest.json (con solo los campos necesarios):

 { "manifest_version": 2, "browser_action": {}, "commands": { "_execute_browser_action": { "suggested_key": { "default": "Ctrl+Shift+8" } } }, "permissions": [ "storage" ], "background": { "scripts": ["background.js"] }, "content_scripts": [{ "js": ["./dist/bundle.js"], "matches": [ ...certain sites... ] }] }

content_script (entrada para bundle.js):

 import ServiceHandler from './ServiceHandler.js' chrome.storage.local.get('enabled', data => { if (data.enabled) { const sh = new ServiceHandler() sh.execute() } })
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda