// eslint-disable-next-line no-undef chrome.action.onClicked.addListener((tab) => { console.log("working"); // eslint-disable-next-line no-undef chrome.tabs.sendMessage( // tabs[0].id, tab.id, { action: "CHANGE_COLOR" }, // eslint-disable-next-line no-unused-vars function (response) {} ); });I'm using manifest version 3:
{ "name": "Chinese word separator", "description": "Put spaces between words", "version": "1.0", "manifest_version": 3, "background" : { "service_worker": "background.js" }, "content_scripts": [ { "matches": ["<all_urls>"], "css": [], "js": ["contentScript.js"] } ] }
And I received this error:
To fix the error, add the action property even if it is empty:
{ "name": "Chinese word separator", "description": "Put spaces between words", "version": "1.0", "manifest_version": 3, "action": {}, "background" : { "service_worker": "background.js" }, "content_scripts": [ { "matches": ["<all_urls>"], "css": [], "js": ["contentScript.js"] } ] }It is advisable to wrap the background.js via a wrapper so you'll get better error message, so if there's no action property in manifest.json..
{ "name": "Chinese word separator", "description": "Put spaces between words", "version": "1.0", "manifest_version": 3, "background" : { "service_worker": "background-wrapper.js" }, "content_scripts": [ { "matches": ["<all_urls>"], "css": [], "js": ["contentScript.js"] } ] }..and you wrap the background via wrapper (e.g., background-wrapper.js)..
try { // eslint-disable-next-line no-undef importScripts("./background.js"); } catch (e) { console.error(e); }..you will receive a more descriptive error instead:
background-wrapper.js:5 TypeError: Cannot read property 'onClicked' of undefined at background.js:1 at background-wrapper.js:3 (anonymous) @ background-wrapper.js:5To fix the error, add action on manifest.json
No comments:
Post a Comment