Intento copiar algunas cookies (en formato de texto) al portapapeles. En content_script.js no hay problema, pero cuando intento copiar algo en el portapapeles en background.js no funciona porque no es compatible. Así que decidí enviar el texto de background.js a content_script.js y de ahí en adelante puedo copiarlo al portapapeles.
Uso chrome.tabs.query() y chrome.tabs.sendMessage() para lograr esto. Cada vez que ejecuto mi extensión, aparece el siguiente error dentro de la consola en segundo plano: Unchecked runtime.lastError: no se pudo establecer la conexión. El extremo receptor no existe.
manifiesto.json:
{ "name": "Cookies to Desktop", "manifest_version": 3, "version": "0.0.1", "content_scripts": [ { "matches": [ "<all_urls>" ], "js": [ "content_script.js" ] } ], "background": { "service_worker": "background.js" }, "host_permissions": [ "*://*.google.com/*" ], "permissions": [ "cookies", "contextMenus", "clipboardWrite", "tabs" ] }fondo.js:
function foo() { chrome.tabs.query({ active: true, currentWindow: true }, function (tabs) { chrome.tabs.sendMessage(tabs[0].id, { message: "copyText", textToCopy: "some text" }, function (response) { }) }) } foo()script_contenido.js:
chrome.runtime.onMessage.addListener( function (textToCopy) { console.log('SUCCESS ' + textToCopy) alert('SUCCESS') } )¿Cómo puedo enviar con éxito datos de fondo a contenido?