Hĺbkový pohľad na vývoj rozšírení prehliadača pomocou Manifest V3 a JavaScript API. Naučte sa tvoriť výkonné a bezpečné rozšírenia pre moderné prehliadače.
Vývoj rozšírení prehliadača: Manifest V3 a JavaScript API
Rozšírenia prehliadača sú malé softvérové programy, ktoré prispôsobujú zážitok z prehliadania. Môžu pridávať nové funkcie, upravovať obsah webových stránok, blokovať reklamy a oveľa viac. S príchodom Manifestu V3 sa spôsob, akým sa rozšírenia vytvárajú a fungujú, výrazne zmenil. Tento komplexný sprievodca preskúma vývoj rozšírení prehliadača pomocou Manifestu V3 a JavaScript API a poskytne vám vedomosti na vytváranie výkonných a bezpečných rozšírení pre moderné prehliadače.
Čo sú rozšírenia prehliadača?
Rozšírenia prehliadača sú v podstate mini-aplikácie, ktoré bežia v rámci webového prehliadača. Rozširujú jeho funkčnosť a bezproblémovo sa integrujú s webovými stránkami. Rozšírenia sú písané pomocou štandardných webových technológií ako HTML, CSS a JavaScript, čo ich robí relatívne prístupnými pre webových vývojárov.
Príklady populárnych rozšírení prehliadača zahŕňajú:
- Blokovače reklám: Blokujú reklamy na webových stránkach, čím zlepšujú rýchlosť prehliadania a znižujú rušivé vplyvy.
- Správcovia hesiel: Bezpečne ukladajú a spravujú heslá, automaticky ich vypĺňajú na webových stránkach.
- Rozšírenia na poznámky: Umožňujú používateľom robiť si poznámky a ukladať ich priamo z webových stránok.
- Nástroje na produktivitu: Zvyšujú produktivitu poskytovaním funkcií ako správa úloh, sledovanie času a režimy sústredenia.
- Nástroje na preklad jazykov: Prekladajú webové stránky do rôznych jazykov jediným kliknutím. Príklad: rozšírenie Google Translate.
- VPN rozšírenia: Smerujú internetovú prevádzku cez proxy, aby obišli geografické obmedzenia a zvýšili súkromie.
Dôležitosť Manifestu V3
Manifest V3 je najnovšia verzia manifest súboru, čo je JSON súbor, ktorý popisuje rozšírenie pre prehliadač. Uvádza názov rozšírenia, verziu, povolenia, skripty na pozadí a ďalšie dôležité metadáta. Manifest V3 prináša niekoľko kľúčových zmien v porovnaní s jeho predchodcom, Manifestom V2, pričom sa zameriava predovšetkým na bezpečnosť a výkon.
Kľúčové zmeny v Manifeste V3:
- Service Workery: Manifest V3 nahrádza stránky na pozadí (background pages) servisnými workermi (service workers). Service workery sú skripty riadené udalosťami, ktoré bežia na pozadí bez potreby trvalej stránky. Sú efektívnejšie a menej náročné na zdroje ako stránky na pozadí.
- Declarative Net Request API: Toto API umožňuje rozšíreniam upravovať sieťové požiadavky bez ich priameho zachytávania. Zvyšuje bezpečnosť a výkon tým, že prenáša logiku filtrovania na prehliadač.
- Prísnejšia politika zabezpečenia obsahu (CSP): Manifest V3 vynucuje prísnejšie pravidlá CSP, aby sa zabránilo spusteniu ľubovoľného kódu, čím sa ďalej zvyšuje bezpečnosť.
- API založené na prísľuboch (promises): Mnohé API sú teraz založené na prísľuboch, čo uľahčuje správu asynchrónnych operácií.
Prečo prechod na Manifest V3?
- Zvýšená bezpečnosť: Manifest V3 je navrhnutý tak, aby zlepšil bezpečnosť rozšírení prehliadača a chránil používateľov pred škodlivým kódom.
- Zlepšený výkon: Service workery a Declarative Net Request API prispievajú k lepšiemu výkonu a zníženej spotrebe zdrojov.
- Väčšie súkromie: Manifest V3 má za cieľ dať používateľom väčšiu kontrolu nad ich dátami a súkromím.
Nastavenie vášho vývojového prostredia
Predtým, ako začnete vyvíjať rozšírenia prehliadača, musíte si nastaviť svoje vývojové prostredie. To zahŕňa inštaláciu editora kódu, výber prehliadača na testovanie a pochopenie základnej štruktúry súborov rozšírenia.
1. Editor kódu
Vyberte si editor kódu, s ktorým sa vám pohodlne pracuje. Populárne možnosti zahŕňajú:
- Visual Studio Code (VS Code): Bezplatný a výkonný editor kódu s vynikajúcou podporou pre JavaScript a ďalšie webové technológie.
- Sublime Text: Rýchly a prispôsobiteľný editor kódu so širokou škálou pluginov.
- Atom: Bezplatný a open-source editor kódu vyvinutý spoločnosťou GitHub.
2. Prehliadač na testovanie
Vyberte si prehliadač na testovanie vašich rozšírení. Chrome a Firefox sú najpopulárnejšie voľby, pretože ponúkajú robustné nástroje pre vývojárov a podporu pre vývoj rozšírení.
3. Základná štruktúra súborov
Rozšírenie prehliadača zvyčajne pozostáva z nasledujúcich súborov:
- manifest.json: Tento súbor obsahuje metadáta rozšírenia, ako sú jeho názov, verzia, povolenia a skripty na pozadí.
- background.js (alebo skript service workera): Tento skript beží na pozadí a spracováva udalosti, ako sú akcie prehliadača a kliknutia v kontextovom menu.
- content.js: Tento skript beží v kontexte webových stránok a môže upravovať ich obsah.
- popup.html: Tento súbor definuje používateľské rozhranie vyskakovacieho okna (popup) rozšírenia.
- popup.js: Tento skript spracováva logiku vyskakovacieho okna rozšírenia.
- options.html: Tento súbor definuje používateľské rozhranie stránky s nastaveniami rozšírenia.
- options.js: Tento skript spracováva logiku stránky s nastaveniami rozšírenia.
- ikony: Toto sú ikony použité na reprezentáciu rozšírenia na paneli nástrojov prehliadača a na stránke správy rozšírení.
Vytvorenie vášho prvého rozšírenia: "Hello, World!"
Vytvorme si jednoduché rozšírenie "Hello, World!", aby sme si ukázali základné princípy vývoja rozšírení prehliadača.
1. Vytvorte Manifest súbor (manifest.json)
Vytvorte súbor s názvom `manifest.json` v novom adresári a pridajte nasledujúci kód:
{
"manifest_version": 3,
"name": "Hello, World!",
"version": "1.0",
"description": "A simple Hello, World! extension",
"permissions": [
"storage"
],
"action": {
"default_popup": "popup.html",
"default_icon": {
"16": "images/icon16.png",
"48": "images/icon48.png",
"128": "images/icon128.png"
}
},
"icons": {
"16": "images/icon16.png",
"48": "images/icon48.png",
"128": "images/icon128.png"
}
}
Vysvetlenie:
- `manifest_version`: Určuje verziu manifest súboru (3 pre Manifest V3).
- `name`: Názov rozšírenia.
- `version`: Číslo verzie rozšírenia.
- `description`: Stručný popis rozšírenia.
- `permissions`: Pole povolení, ktoré rozšírenie vyžaduje (napr. "storage").
- `action`: Definuje vlastnosti vyskakovacieho okna rozšírenia, vrátane predvoleného popup súboru a ikon.
- `icons`: Určuje cesty k ikonám rozšírenia.
2. Vytvorte Popup súbor (popup.html)
Vytvorte súbor s názvom `popup.html` v tom istom adresári a pridajte nasledujúci kód:
<!DOCTYPE html>
<html>
<head>
<title>Hello, World!</title>
<style>
body {
width: 200px;
padding: 10px;
font-family: sans-serif;
}
</style>
</head>
<body>
<h1>Hello, World!</h1>
<p>This is a simple browser extension.</p>
</body>
</html>
Tento súbor definuje používateľské rozhranie vyskakovacieho okna rozšírenia, ktoré zobrazí správu "Hello, World!".
3. Vytvorte obrázky ikon
Vytvorte tri obrázky ikon s nasledujúcimi veľkosťami: 16x16, 48x48 a 128x128 pixelov. Uložte ich ako `icon16.png`, `icon48.png` a `icon128.png` do adresára `images` v rámci adresára vášho rozšírenia.
4. Načítajte rozšírenie do vášho prehliadača
Chrome:
- Otvorte Chrome a prejdite na `chrome://extensions`.
- Povoľte "Režim pre vývojárov" v pravom hornom rohu.
- Kliknite na "Načítať nerozbalené" a vyberte adresár obsahujúci súbory vášho rozšírenia.
Firefox:
- Otvorte Firefox a prejdite na `about:debugging#/runtime/this-firefox`.
- Kliknite na "Načítať dočasný doplnok..." a vyberte súbor `manifest.json`.
Vaše rozšírenie "Hello, World!" by teraz malo byť nainštalované a viditeľné na paneli nástrojov prehliadača. Kliknutím na ikonu rozšírenia otvoríte vyskakovacie okno a uvidíte správu "Hello, World!".
Práca s JavaScript API
Rozšírenia prehliadača môžu interagovať s prehliadačom a webovými stránkami pomocou JavaScript API. Tieto API poskytujú prístup k rôznym funkcionalitám, ako sú:
- Tabs API: Umožňuje spravovať karty prehliadača, vrátane vytvárania, aktualizácie a dopytovania sa na karty.
- Storage API: Poskytuje spôsob, ako trvalo ukladať a získavať údaje v rámci rozšírenia.
- Alarms API: Umožňuje naplánovať úlohy, ktoré sa majú vykonať v určenom čase.
- Notifications API: Umožňuje zobrazovať upozornenia používateľovi.
- Context Menus API: Umožňuje pridať vlastné položky do kontextového menu prehliadača (menu po kliknutí pravým tlačidlom myši).
- Web Request API (v Manifeste V3 Declarative Net Request): Umožňuje zachytávať a upravovať sieťové požiadavky.
- Scripting API: Umožňuje vkladať skripty do webových stránok.
Príklad: Použitie Storage API
Vytvorme rozšírenie, ktoré ukladá a načítava meno používateľa pomocou Storage API.
1. Aktualizujte Manifest súbor (manifest.json)
Uistite sa, že pole `permissions` vo vašom `manifest.json` obsahuje `"storage"`:
{
"manifest_version": 3,
"name": "Storage Example",
"version": "1.0",
"description": "An extension that uses the Storage API",
"permissions": [
"storage"
],
"action": {
"default_popup": "popup.html"
},
"icons": {
"16": "images/icon16.png",
"48": "images/icon48.png",
"128": "images/icon128.png"
}
}
2. Vytvorte Popup súbor (popup.html)
Vytvorte alebo aktualizujte váš `popup.html` s nasledujúcim obsahom:
<!DOCTYPE html>
<html>
<head>
<title>Storage Example</title>
<style>
body {
width: 250px;
padding: 10px;
font-family: sans-serif;
}
</style>
</head>
<body>
<h1>Storage Example</h1>
<label for="name">Enter your name:</label>
<input type="text" id="name">
<button id="save">Save</button>
<p id="greeting"></p>
<script src="popup.js"></script>
</body>
</html>
3. Vytvorte Popup skript (popup.js)
Vytvorte súbor s názvom `popup.js` a pridajte nasledujúci kód:
document.addEventListener('DOMContentLoaded', () => {
const nameInput = document.getElementById('name');
const saveButton = document.getElementById('save');
const greeting = document.getElementById('greeting');
// Load the saved name from storage
chrome.storage.sync.get('name', (data) => {
if (data.name) {
nameInput.value = data.name;
greeting.textContent = `Hello, ${data.name}!`;
}
});
// Save the name to storage when the button is clicked
saveButton.addEventListener('click', () => {
const name = nameInput.value;
chrome.storage.sync.set({ name: name }, () => {
greeting.textContent = `Hello, ${name}!`;
});
});
});
Vysvetlenie:
- Skript počúva na udalosť `DOMContentLoaded`, aby sa zabezpečilo, že DOM je plne načítaný pred spustením kódu.
- Získava referencie na vstupné pole, tlačidlo na uloženie a odsek s pozdravom.
- Načíta uložené meno z úložiska pomocou `chrome.storage.sync.get()`.
- Uloží meno do úložiska po kliknutí na tlačidlo na uloženie pomocou `chrome.storage.sync.set()`.
- Aktualizuje odsek s pozdravom uloženým alebo zadaným menom.
Znova načítajte rozšírenie vo vašom prehliadači. Teraz, keď otvoríte vyskakovacie okno, môžete zadať svoje meno, uložiť ho a uvidieť pozdrav. Meno bude uložené v úložisku rozšírenia a načíta sa pri ďalšom otvorení vyskakovacieho okna.
Príklad: Použitie Tabs API
Vytvorme rozšírenie, ktoré zobrazí URL aktuálnej karty vo vyskakovacom okne.
1. Aktualizujte Manifest súbor (manifest.json)
Pridajte povolenie `"tabs"` do poľa `permissions` vo vašom `manifest.json`:
{
"manifest_version": 3,
"name": "Tabs Example",
"version": "1.0",
"description": "An extension that uses the Tabs API",
"permissions": [
"tabs"
],
"action": {
"default_popup": "popup.html"
},
"icons": {
"16": "images/icon16.png",
"48": "images/icon48.png",
"128": "images/icon128.png"
}
}
2. Vytvorte Popup súbor (popup.html)
Vytvorte alebo aktualizujte váš `popup.html` s nasledujúcim obsahom:
<!DOCTYPE html>
<html>
<head>
<title>Tabs Example</title>
<style>
body {
width: 300px;
padding: 10px;
font-family: sans-serif;
}
</style>
</head>
<body>
<h1>Tabs Example</h1>
<p>Current Tab URL:</p>
<p id="url"></p>
<script src="popup.js"></script>
</body>
</html>
3. Vytvorte Popup skript (popup.js)
Vytvorte súbor s názvom `popup.js` a pridajte nasledujúci kód:
document.addEventListener('DOMContentLoaded', () => {
const urlDisplay = document.getElementById('url');
// Get the current tab's URL
chrome.tabs.query({ active: true, currentWindow: true }, (tabs) => {
const tab = tabs[0];
urlDisplay.textContent = tab.url;
});
});
Vysvetlenie:
- Skript počúva na udalosť `DOMContentLoaded`.
- Používa `chrome.tabs.query()` na získanie aktuálne aktívnej karty v aktuálnom okne.
- Získa URL karty a zobrazí ju v odseku `url`.
Znova načítajte rozšírenie vo vašom prehliadači. Teraz, keď otvoríte vyskakovacie okno, zobrazí sa URL aktuálnej karty.
Skripty na pozadí a Service Workery
V Manifeste V3 sú skripty na pozadí nahradené servisnými workermi (service workers). Service workery sú skripty riadené udalosťami, ktoré bežia na pozadí bez potreby trvalej stránky. Sú efektívnejšie a menej náročné na zdroje ako stránky na pozadí.
Kľúčové vlastnosti Service Workerov:
- Riadené udalosťami: Service workery reagujú na udalosti ako akcie prehliadača, alarmy a správy z obsahových skriptov.
- Asynchrónne: Service workery používajú asynchrónne API, aby neblokovali hlavné vlákno.
- Ukončenie pri nečinnosti: Service workery sú ukončené, keď aktívne nespracovávajú udalosti, čím šetria zdroje.
Príklad: Použitie Service Workera
Vytvorme rozšírenie, ktoré zobrazí upozornenie pri štarte prehliadača.
1. Aktualizujte Manifest súbor (manifest.json)
Aktualizujte váš `manifest.json` s nasledujúcim obsahom:
{
"manifest_version": 3,
"name": "Service Worker Example",
"version": "1.0",
"description": "An extension that uses a service worker",
"permissions": [
"notifications"
],
"background": {
"service_worker": "background.js"
},
"icons": {
"16": "images/icon16.png",
"48": "images/icon48.png",
"128": "images/icon128.png"
}
}
Vysvetlenie:
- Vlastnosť `"background"` určuje cestu k skriptu service workera (`background.js`).
- Pole `"permissions"` obsahuje `"notifications"`, ktoré je potrebné na zobrazovanie upozornení.
2. Vytvorte skript Service Workera (background.js)
Vytvorte súbor s názvom `background.js` a pridajte nasledujúci kód:
chrome.runtime.onStartup.addListener(() => {
// Display a notification when the browser starts
chrome.notifications.create('startup-notification', {
type: 'basic',
iconUrl: 'images/icon48.png',
title: 'Browser Started',
message: 'The browser has started.',
});
});
Vysvetlenie:
- Skript počúva na udalosť `chrome.runtime.onStartup`, ktorá sa spustí pri štarte prehliadača.
- Používa `chrome.notifications.create()` na zobrazenie upozornenia so zadanými vlastnosťami.
Znova načítajte rozšírenie vo vašom prehliadači. Teraz, keď reštartujete prehliadač, mali by ste vidieť upozornenie od rozšírenia.
Obsahové skripty (Content Scripts)
Obsahové skripty sú JavaScriptové súbory, ktoré bežia v kontexte webových stránok. Môžu pristupovať a upravovať DOM webových stránok, čo vám umožňuje prispôsobiť správanie a vzhľad webových stránok.
Kľúčové vlastnosti obsahových skriptov:
- Prístup k DOM: Obsahové skripty môžu pristupovať a manipulovať s DOM webových stránok.
- Izolácia od skriptov webových stránok: Obsahové skripty bežia v izolovanom prostredí, čo zabraňuje konfliktom so skriptami webových stránok.
- Komunikácia so skriptami na pozadí: Obsahové skripty môžu komunikovať so skriptami na pozadí pomocou odosielania správ.
Príklad: Použitie obsahového skriptu
Vytvorme rozšírenie, ktoré zmení farbu pozadia webových stránok na svetlomodrú.
1. Aktualizujte Manifest súbor (manifest.json)
Aktualizujte váš `manifest.json` s nasledujúcim obsahom:
{
"manifest_version": 3,
"name": "Content Script Example",
"version": "1.0",
"description": "An extension that uses a content script",
"permissions": [
"activeTab",
"scripting"
],
"background": {
"service_worker": "background.js"
},
"content_scripts": [
{
"matches": ["<all_urls>"],
"js": ["content.js"]
}
],
"icons": {
"16": "images/icon16.png",
"48": "images/icon48.png",
"128": "images/icon128.png"
}
}
Vysvetlenie:
- Vlastnosť `"content_scripts"` špecifikuje pole obsahových skriptov, ktoré sa majú vložiť do webových stránok.
- `"matches"` špecifikuje URL adresy, do ktorých sa má obsahový skript vložiť (`<all_urls>` zodpovedá všetkým URL).
- `"js"` špecifikuje cestu k obsahovému skriptu (`content.js`).
- Pole `"permissions"` zahŕňa `"activeTab"` a `"scripting"`, ktoré sú potrebné na vkladanie skriptov.
2. Vytvorte obsahový skript (content.js)
Vytvorte súbor s názvom `content.js` a pridajte nasledujúci kód:
document.body.style.backgroundColor = 'lightblue';
3. Vytvorte Service Worker (background.js)
Vytvorte súbor s názvom `background.js` a pridajte nasledujúci kód:
chrome.action.onClicked.addListener((tab) => {
chrome.scripting.executeScript({
target: { tabId: tab.id },
function: () => {
document.body.style.backgroundColor = 'lightblue';
}
});
});
Vysvetlenie:
- Obsahový skript jednoducho nastaví farbu pozadia elementu `body` na svetlomodrú.
- Service worker počúva na udalosť kliknutia a vykoná funkciu v rámci aktuálnej karty, ktorá zmení farbu pozadia.
Znova načítajte rozšírenie vo vašom prehliadači. Teraz, keď otvoríte akúkoľvek webovú stránku, farba pozadia bude svetlomodrá.
Ladenie rozšírení prehliadača
Ladenie rozšírení prehliadača je nevyhnutnou súčasťou vývojového procesu. Chrome a Firefox poskytujú vynikajúce nástroje pre vývojárov na ladenie rozšírení.
Ladenie v Chrome:
- Otvorte Chrome a prejdite na `chrome://extensions`.
- Povoľte "Režim pre vývojárov" v pravom hornom rohu.
- Kliknite na "Inspect views background page" pre vaše rozšírenie. Tým sa otvoria Chrome DevTools pre skript na pozadí.
- Ak chcete ladiť obsahové skripty, otvorte webovú stránku, kde je obsahový skript vložený, a potom otvorte Chrome DevTools pre danú stránku. Váš obsahový skript by ste mali vidieť v paneli "Sources".
Ladenie vo Firefoxe:
- Otvorte Firefox a prejdite na `about:debugging#/runtime/this-firefox`.
- Nájdite svoje rozšírenie v zozname a kliknite na "Preskúmať". Tým sa otvoria Firefox Developer Tools pre rozšírenie.
- Ak chcete ladiť obsahové skripty, otvorte webovú stránku, kde je obsahový skript vložený, a potom otvorte Firefox Developer Tools pre danú stránku. Váš obsahový skript by ste mali vidieť v paneli "Debugger".
Bežné techniky ladenia:
- Zapisovanie do konzoly: Použite `console.log()` na vypisovanie správ do konzoly.
- Body prerušenia (Breakpoints): Nastavte body prerušenia vo vašom kóde, aby ste pozastavili vykonávanie a skontrolovali premenné.
- Zdrojové mapy (Source maps): Použite zdrojové mapy na ladenie vášho kódu v jeho pôvodnej podobe, aj keď bol minifikovaný alebo transpilovaný.
- Spracovanie chýb: Implementujte spracovanie chýb na zachytenie a zaznamenanie chýb.
Publikovanie vášho rozšírenia
Keď ste svoje rozšírenie vyvinuli a otestovali, môžete ho publikovať v Chrome Web Store alebo na trhovisku Firefox Add-ons.
Publikovanie v Chrome Web Store:
- Vytvorte si vývojársky účet v Chrome Web Store.
- Zabaľte svoje rozšírenie do súboru `.zip`.
- Nahrajte súbor `.zip` do Chrome Web Store.
- Poskytnite požadované metadáta, ako sú názov rozšírenia, popis a snímky obrazovky.
- Odošlite svoje rozšírenie na kontrolu.
Publikovanie na trhovisku Firefox Add-ons:
- Vytvorte si vývojársky účet na trhovisku Firefox Add-ons.
- Zabaľte svoje rozšírenie do súboru `.zip`.
- Nahrajte súbor `.zip` na trhovisko Firefox Add-ons.
- Poskytnite požadované metadáta, ako sú názov rozšírenia, popis a snímky obrazovky.
- Odošlite svoje rozšírenie na kontrolu.
Osvedčené postupy pri publikovaní:
- Napíšte jasný a stručný popis vášho rozšírenia.
- Poskytnite vysokokvalitné snímky obrazovky a videá na prezentáciu funkcií vášho rozšírenia.
- Dôkladne otestujte svoje rozšírenie pred jeho odoslaním.
- Promptne reagujte na recenzie a spätnú väzbu od používateľov.
- Udržujte svoje rozšírenie aktuálne s najnovšími verziami prehliadačov a bezpečnostnými záplatami.
Bezpečnostné aspekty
Bezpečnosť je kľúčovým aspektom vývoja rozšírení prehliadača. Rozšírenia môžu potenciálne pristupovať k citlivým údajom používateľov a upravovať obsah webových stránok, preto je nevyhnutné dodržiavať osvedčené bezpečnostné postupy na ochranu používateľov pred škodlivým kódom.
Kľúčové bezpečnostné aspekty:
- Minimalizujte povolenia: Žiadajte len tie povolenia, ktoré vaše rozšírenie skutočne potrebuje.
- Validujte vstupy od používateľov: Sanitizujte a validujte všetky vstupy od používateľov, aby ste predišli útokom typu cross-site scripting (XSS).
- Používajte HTTPS: Na komunikáciu so vzdialenými servermi vždy používajte HTTPS.
- Politika zabezpečenia obsahu (CSP): Vynucujte prísnu politiku CSP, aby ste zabránili spusteniu ľubovoľného kódu.
- Pravidelne aktualizujte svoje rozšírenie: Udržujte svoje rozšírenie aktuálne s najnovšími bezpečnostnými záplatami.
Dodržiavaním týchto bezpečnostných pokynov môžete pomôcť zabezpečiť, že vaše rozšírenie prehliadača je pre používateľov bezpečné.
Záver
Vývoj rozšírení prehliadača pomocou Manifestu V3 a JavaScript API ponúka mocný spôsob, ako prispôsobiť zážitok z prehliadania a pridať nové funkcie do webových prehliadačov. Pochopením kľúčových konceptov, API a osvedčených postupov uvedených v tomto sprievodcovi môžete vytvárať výkonné a bezpečné rozšírenia, ktoré zvyšujú produktivitu, zlepšujú bezpečnosť a poskytujú lepší zážitok z prehliadania používateľom po celom svete. S ďalším vývojom webu budú rozšírenia prehliadača hrať čoraz dôležitejšiu úlohu pri formovaní budúcnosti online interakcií. Využite príležitosti, ktoré ponúka Manifest V3 a bohatstvo JavaScript API, na vytváranie inovatívnych a hodnotných rozšírení.