Verifique el código de extensión de Google Chrome a continuación. Aquí simplemente estoy tratando de enviar un mensaje de cadena básico de fondo a primer plano, pero recibo un error en la consola de pestañas: Error in event handler: TypeError: Error in invocation of tabs.sendMessage(integer tabId, any message, optional object options, optional function callback): No matching signature. ¿Qué hay de malo que estoy haciendo aquí alguna idea?
manifiesto.json:
{ "name": "obj ext", "description": "my ext", "version": "0.1.0", "manifest_version": 2, "icons": { "16": "./obj-16x16.png", "32": "./obj-32x32.png", "48": "./obj-48x48.png", "128": "./obj-128x128.png" }, "background":{ "scripts":["./background.js"] }, "options_page":"./options.html", "browser_action":{ "default_popup": "popup.html" }, "permissions":[ "tabs", "https://www.google.com/" ] }fondo.js:
chrome.tabs.onActivated.addListener(tab => { console.log(tab.tabId); chrome.tabs.sendMessage( {tabId: tab.tabId}, {message: 'Hello'} ); });primer plano.js
chrome.runtime.onMessage.addListener((message, sender, sendResponse) => { console.log(message); });Pasaste un objeto con el atributo tabId. Debe ser una variable de tipo numérico.
Caso de uso correcto:
// other code chrome.tabs.sendMessage( tab.tabId, {message: 'Hello'} ); // other codeDocumento API:
chrome.tabs.sendMessage( tabId: number, // Pay attention here message: any, options?: object, responseCallback?: function, )