Розробка розширення браузера Opera
Opera з 2013 року працює на рушії Blink (Chromium), тому Chrome Extensions запускаються в Opera без змін коду. Opera публікує розширення у власному каталозі на addons.opera.com, але також дозволяє встановлювати розширення безпосередньо з Chrome Web Store через офіційне розширення «Install Chrome Extensions».
Сумісність
Opera підтримує chrome.* API ідентично Chrome. Manifest V3 підтримується з Opera 92+. Відмінності:
| Функція | Opera | Примітка |
|---|---|---|
chrome.* API |
Повна підтримка | Ідентично Chrome |
opera.* API |
Частково | Застарів, не потрібен для нових розширень |
| Sidebar Extensions | Так | Специфічно для Opera |
| Speed Dial Extensions | Так | Специфічно для Opera |
| MV3 | З Opera 92+ | Рекомендований |
Opera Sidebar Extensions
Opera має ліву бокову панель. Розширення може додати туди кнопку та вбудований веб-інтерфейс:
{
"manifest_version": 3,
"name": "My Opera Extension",
"version": "1.0.0",
"permissions": ["storage", "tabs"],
"background": {
"service_worker": "background.js"
},
"action": {
"default_popup": "popup.html",
"default_icon": "icons/icon48.png"
},
"sidebar_action": {
"default_title": "My Tool",
"default_panel": "sidebar.html",
"default_icon": "icons/sidebar-icon.svg"
}
}
// background.js — управління sidebar
// Відкрити/закрити sidebar програмно
opr.sidebarAction.setPanel({ tabId: tab.id, panel: 'sidebar.html' });
opr.* — Opera-специфічний namespace, аналог chrome.*:
// Доступні opr API:
opr.sidebarAction // управління боковою панеллю
opr.addons // інформація про розширення
opr.cryptoWallet // інтеграція з крипто-гаманцем Opera
Speed Dial
Speed Dial — стартова сторінка Opera з плитками сайтів. Розширення може додати власну плитку:
"chrome_url_overrides": {
"speeddial": "speeddial.html"
}
<!-- speeddial.html -->
<!DOCTYPE html>
<html>
<head>
<title>My Speed Dial</title>
<link rel="stylesheet" href="speeddial.css">
</head>
<body>
<div class="speeddial-tile">
<!-- Вміст плитки -->
</div>
<script src="speeddial.js"></script>
</body>
</html>
Публікація на addons.opera.com
- Зареєструватися на addons.opera.com/developer/
- Завантажити ZIP-архів розширення
- Заповнити опис, категорію, скріншоти (мінімум 612×408 px)
- Дочекатися ревю (5–10 робочих днів — Opera проглядає вручну)
Opera приймає розширення тільки у форматі ZIP, без .crx. Вимоги до іконок: 64×64 та 128×128 PNG.
Тестування
# opera://extensions/ → Режим розробника → Завантажити розпаковане розширення
# Або через командний рядок (Opera повинен бути встановлений):
opera --load-extension=/path/to/extension
Кроссбраузерність: Opera + Chrome в одному пакеті
Оскільки Opera на 100% сумісна з Chrome (крім sidebar/speeddial specifics), можна публікувати одне розширення в обох магазинах:
// Визначаємо браузер для умовної логіки
function getBrowser() {
const ua = navigator.userAgent;
if (ua.includes('OPR/') || ua.includes('Opera/')) return 'opera';
if (ua.includes('Edg/')) return 'edge';
return 'chrome';
}
// Активуємо Opera-специфічні функції
if (getBrowser() === 'opera' && typeof opr !== 'undefined') {
initSidebar();
}
Терміни
Адаптація Chrome Extension для Opera Add-ons (публікація + ревю) — 1–2 робочих дні. Розширення з Opera Sidebar та Speed Dial інтеграцією — 3–5 днів додатково до базової функціональності.







