{
"manifest_version": 3,
"name": "Ваше название расширения",
"description": "Ваше описание расширения",
"default_locale": "ru",
"permissions": [
// тут будут даны необходимые разрешения для работы расширения
],
"host_permissions": [
"<all_urls>"
],
"icons": {
"16": "путь к иконке",
"128": "путь к иконке"
},
"action": {
"default_title": "Ваше название расширения",
"default_popup": "popup.html"
},
"content_scripts": [
{
"match_about_blank": true,
"all_frames": true,
"js": [
"путь к javascript" // при необходимости добавьте ниже еще js-скриптов
],
"run_at": "document_end",
"matches": [
"*://*/*"
]
}
],
"background": {
"service_worker": "background.js"
},
}
{
"name": "Test Extension",
"version": "1.0",
"manifest_version": 2,
"description": "Test",
"action": {
"default_icon": "icon.png",
"default_popup": "popup.html"
},
"host_permissions": ["https://example.com/"],
"content_scripts": [
{
"matches": ["https://example.com/*"],
"css": ["style.css"],
"js": ["script.js"]
}
]
}
manifest.json
, если я правильно вас понял. Ну и соответственно прописать правила для стилей в style.css
, желательно с припиской !important
, сделать popup окошко, ну и написать нужный вам скрипт. Если речь про т.н. плагины NPAPI или его производные — на любом. Условием является возможность создать динамически подгружаемую библиотеку (.dll/.so), реализующую и экспортирующую ряд функций с определенным API.
На практике, чаще всего используют C, как наиболее привыкшийся разработчикам.
Если речь идет о т.н. расширениях (1, 2) — как правило, на JavaScript, или, как вариант, компилируемые в него языки.
Чаще всего, пожалуй, рациональнее писать расширение, нежели плагин. Плагин нужен, если требуется что-то довольно специфичное, например кодирование видео, или работа с устройствами компьютера.