How can I update a manifest version 2 to a manifest version 3? - manifest

My Manifest is a MV2 and I don't know how to update it to a MV3.
{"update_url": "https://clients2.google.com/service/update2/crx", "version": "0.1.9.12", "name": "MSG_extName", "description": "MSG_extDesc", "default_locale": "en", "offline_enabled": true, "chrome_url_overrides": {"newtab": "/start/index.html"}, "background": {"persistent": true, "scripts": ["bd2989e2.js", "/start/chrome/settings.js", "/start/common/prefs-sys.js", "/start/chrome/utils.js", "/start/common/default-whitelist.js", "/start/chrome/background.js"]}, "content_scripts": [{"all_frames": false, "run_at": "document_end", "js": ["/start/search/content-homepage.js"], "matches": ["https://.freeaddon.com/"]}], "browser_action": {"default_icon": {"128": "start/skin/icons/128.png", "16": "start/skin/icons/16.png", "48": "start/skin/icons/48.png"}}, "icons": {"128": "start/skin/icons/128.png", "16": "start/skin/icons/16.png", "48": "start/skin/icons/48.png"}, "web_accessible_resources": ["start/skin/"], "permissions": ["https://.freeaddon.com/", "https://suggestqueries.google.com/", "unlimitedStorage", "topSites", "management", "<all_urls>", "webRequest", "webRequestBlocking"], "manifest_version": 2}

Related

how can I convert manifest 2 to manifest 3?

{
"manifest_version": 2,
"minimum_chrome_version": "62.0",
"name": "Airnet",
"version": "0.0.1",
"author": "Kakha Tskhomelidze",
"default_locale": "en",
"description": "_MSG_describ_",
"icons": {
"16": "images/icon16.png",
"24": "images/icon24.png",
"32": "images/icon32.png",
"48": "images/icon48.png",
"96": "images/icon96.png",
"128": "images/icon128.png"
},
"background": {
"scripts": ["js/eventPage.js"],
"persistent": false
},
"browser_action": {
"default_icon": {
"16": "images/icon16-off.png",
"24": "images/icon24-off.png",
"32": "images/icon32-off.png"
}
},
"commands": {
"_execute_browser_action": {}
},
"content_scripts": [
{
"matches": ["<all_urls>"],
"js": ["js/Airnet.js"],
"all_frames": true,
"run_at": "document_end"
}
],
"options_ui": {
"page": "options.html",
"chrome_style": false,
"open_in_tab": true
},
"permissions": [
"<all_urls>",
"contextMenus",
"storage",
"unlimitedStorage"
],
"content_security_policy": "script-src 'self' https://www.google-analytics.com; object-src 'self'",
"web_accessible_resources": [
"images/close*.png",
"images/icon24.png",
"sounds/*"
]
}
I need help, I do not know how to do that and convert to manifest 3

Chrome extension icon not appearing

[!["manifest_version": 2,
"icons": {
"16": "/images/icon16.png",
"48": "/images/icon48.png",
"128": "/images/icon128.png"
},
"browser_action": {
"default_icon": {
"16": "images/icon16.png",
"48": "images/icon48.png",
"128": "images/icon128.png"
},
"default_popup": "/screens/popup.html"
},
"permissions": \["tabs", "storage", "webNavigation"\],
"content_scripts": \[
{
"js": \["popup.js", "websites.js"\],
"matches": \[
"<all_urls>"
\]
}
\],
"background": {
"scripts": \["background.js"\],
"persistent": false
},
"content_security_policy": "script-src 'self' https://ajax.googleapis.com https://stackpath.bootstrapcdn.com; object-src 'self';"
}
I don't know why my chrome extension icon isn't showing. I saved all the icons into the images folder hence the /images. it is giving me the blue puzzle piece in the middle Is there something wrong with my code?
This example is working on my browser. I don't know why your manifest json starts with [![. Maybe this is the problem. I'm not sure. Can you edit this example according to your json file?
{
"manifest_version": 2,
"name": "Test",
"description": "Test",
"version": "1.0",
"browser_action": {
"default_icon": {
"16": "images/icon16.png",
"48": "images/icon48.png",
"128": "images/icon128.png"
},
"default_popup": "popup.html"
},
"permissions": [
"activeTab"
]
}
Try copy-pasting this into your manifest.json file. You have loads of artefacts that might cause issues, I also removed the default_icons key which isn't necessary in my opinion. Also removed the backslash / before the image folder-paths.
{
"name": "Some extension",
"manifest_version": 2,
"icons": {
"16": "images/icon16.png",
"48": "images/icon48.png",
"128": "images/icon128.png"
},
"browser_action": {
"default_popup": "/screens/popup.html"
},
"permissions": ["tabs", "storage", "webNavigation"],
"content_scripts": [{
"js": ["popup.js", "websites.js"],
"matches": [
"<all_urls>"
]
}],
"background": {
"scripts": ["background.js"],
"persistent": false
},
"content_security_policy": "script-src 'self' https://ajax.googleapis.com https://stackpath.bootstrapcdn.com; object-src 'self';"
}
I had the same issues. I opened the png file(s) with paint and resaved them and it worked. So please verify your png files.

Chrome extension auto enable

I've created a chrome-extension Reddit hide username. This extension hides your Reddit username when the button in popup.html is clicked.
I want to update it wherein if I visit Reddit, my extension will auto trigger and automatically do its job. How can I do that? Below here is my manifest.json and here's my Github repository
{
"name": "Reddit Hide Username",
"version": "1.0",
"description": "Hide your username in new Reddit UI!",
"permissions": [
"activeTab",
"declarativeContent",
"storage"
],
"options_page": "options.html",
"background": {
"scripts": [
"background.js"
],
"persistent": false
},
"page_action": {
"default_popup": "popup.html",
"default_icon": {
"16": "images/icon16.png",
"32": "images/icon32.png",
"48": "images/icon48.png",
"128": "images/icon128.png"
}
},
"icons": {
"16": "images/icon16.png",
"32": "images/icon32.png",
"48": "images/icon48.png",
"128": "images/icon128.png"
},
"manifest_version": 2
}

Load unpacked Chrome extension - how does it know where my index.html file is?

I have a Chrome Extension project, the structure looks like this:
project/
dist/
index.html
manifest.json
When I go More Tools -> Extensions -> Load Unpacked Extensions
I choose the root of the project, and it works! But I can't figure out how it knows to load dist/index.html? The manifest.json file doesn't say anything about dist/index.html, so how does Chrome know how to load the extension?
I built this extension a few months ago, and now I can't figure out how it works lol.
the manifest.json file looks like this verbatim:
{
"manifest_version": 2,
"name": "Suman Generator",
"description": "This extension allows the user to generate test skeletons.",
"version": "1.223",
"browser_action": {
"default_icon": "icon.png"
},
"options_page": "options.html",
"options_ui": {
"page": "options.html",
"chrome_style": true
},
"devtools_page": "aspects/dev-tools/dist/suman-dev-tools.html",
"optional_permissions": [
"<all_urls>"
],
"permissions": [
"management",
"activeTab",
"webNavigation",
"storage",
"*://*/",
"http://*/",
"https://*/",
"background",
"browser",
"tabs",
"identity",
"identity.email",
"https://www.googleapis.com/",
"pageAction",
"notifications",
"clipboard",
"clipboardWrite",
"clipboardRead",
"unlimitedStorage",
"webRequest",
"userinfo",
"webRequestBlocking",
{
"socket": [
"tcp-connect:*:*"
]
}
],
"web_accessible_resources": [
"modal-iframe.html"
],
"icons": {
"16": "icons/icon16.png",
"48": "icons/icon48.png",
"128": "icons/icon128.png"
},
"omnibox": {
"keyword": "suman:chrome"
},
"oauth2": {
"client_id": "5461307462-7geu9374.apps.googleusercontent.com",
"scopes": [
"https://www.googleapis.com/auth/userinfo.profile",
"https://www.googleapis.com/auth/chromewebstore.readonly"
]
},
"key": "MIIBC57LwMgUdRxfY4I40oAiKy57o3tWF/A1BrTNY0nQIDAQAB",
"short_name": "Suman Short Name",
"offline_enabled": true,
"background": {
"page": "background.html",
"persistent": true
},
"content_scripts": [],
"content_security_policy": "script-src 'self' https://plus.google.com 'unsafe-inline' 'http' 'https' 'unsafe-eval' '*'; object-src '*';"
}

Chrome saying that manifest.json is not in utf8

I'm sure that it is I tried with/without BOM and I still get this error :
{
"manifest_version": 2,
"default_locale": "en",
"name": "__MSG_ext_name__",
"description": "__MSG_ext_description__",
"version": "1.6.0",
"icons": {
"16": "icon_16.png",
"48": "icon_48.png",
"128": "icon_128.png"
},
"browser_action": {
"default_icon": "icon_19.png",
"default_popup": "popup.html"
},
"background": {
"page": "background.html"
},
"options_page": "options.html",
"permissions": [
"tabs"
],
"content_scripts": [
{
"matches": [
"http://*/*",
"https://*/*"
],
"js": [
"scripts/content.js"
],
"run_at": "document_start",
"all_frames": true
}
]
}
I used a program to mass convert all my files in UTF-8, now it works, I think as 方 觉 said, the problem was coming from another file than the manifest.