Webbővítmények

Az oldal jelenlegi verzióját még nem ellenőrizték tapasztalt közreműködők, és jelentősen eltérhet a 2020. április 21-én felülvizsgált verziótól ; az ellenőrzések 4 szerkesztést igényelnek .

A WebExtensions  a legnépszerűbb böngészők által támogatott böngészőbővítési technológia. A WebExtensions segítségével olyan bővítményeket hozhat létre, amelyek kis mértékben módosíthatják a böngésző felhasználói felületét, módosíthatják a weboldalak tartalmát, és módosíthatják a böngésző hálózati kéréseit. A WebExtensions olyan technológiák felhasználásával készült, mint a HTML , CSS , JavaScript és JSON .

Kiterjesztés szerkezete

A WebExtensions kiterjesztés egy zip-archívum , amelynek szinte tetszőleges belső szerkezete van beágyazott könyvtárakból és fájlokból. A kevés szerkezeti követelmény egyike a manifest.json – egy JSON - fájl, amely létrehozza a böngésző, a böngészőbővítmény és a felhasználó közötti interakció protokollját. Amit a jegyzék tartalmazhat:

Építészeti jellemzők

Minden bővítmény háttéroldala, beállítási oldala vagy legördülő menüoldala külön folyamatban fut, saját kontextussal. Az azonos kiterjesztésű egyes szkriptek, a különböző kiterjesztések, valamint a kiterjesztés és a böngésző közötti interakció egy elnevezett üzenetrendszer segítségével történik. A legtöbb olyan kérés, amely a bővítménytől a böngészőhöz érkezett, és amely késést okozhat (például különféle adatok olvasása és írása), aszinkron API -k segítségével valósul meg .

Böngészők közötti támogatás

2017 novemberétől a WebExtension segítségével létrehozott bővítményeket minden nagyobb böngésző támogatja:

A nemzetköziesítés támogatása

A WebExtensions bővítmény több nyelvet is támogathat a beépített i18n.js JavaScript -könyvtár használatával. A különböző területi beállításoknak megfelelő fájlok JSON formátumúak . Speciális szintaxis használatával a manifest.json fájl egyes részei (például a kiterjesztés neve és leírása) automatikusan hozzáköthetők a megfelelő területi beállításokból származó karakterláncokhoz, de elsősorban a kiterjesztés fejlesztőjének feladata, hogy a fájl különböző elemeit összekösse. bővítmény felhasználói felülete lokalizált karakterláncokhoz.

Analógok

A WebExtensions technológiához hasonló a XUL , amelyet a Mozilla Firefox 57-es verziójáig használtak, valamint az Apple szabadalmaztatott technológiája , amely a Safari böngészőben bővítmények létrehozására szolgál .

Kritika

A WebExtensions technológiát keresztböngészőként fejlesztették ki, de a gyakorlatban a különböző API-k támogatási szintje böngészőnként eltérő. Attól függően, hogy a bővítmény milyen funkciókat valósít meg, kiderülhet, hogy a bővítmény különböző böngészők könyvtáraiban való közzétételéhez különböző archívumokat kell létrehoznia. A böngészőfejlesztők migrációs útmutatókkal próbálják megoldani az inkompatibilitási problémát, ami csak megnehezíti a bővítmények fejlesztését.

Emellett a böngészőfejlesztők kritizálják a WebExtensions rendkívül gyenge képességeit az XUL -hoz képest  – például a WebExtensions nem teszi lehetővé a meglátogatott erőforrásoktól független panelek létrehozását, ami arra kényszeríti a fejlesztőket, hogy közvetlenül behatoljanak az éppen megtekintett oldalak kódjába, ill. korlátozzák magukat a bővítmény ikonjának gyenge képességeire. A WebExtensions szolgáltatásba való áthelyezését megakadályozó bővítmény szembetűnő példája egy olyan widget, amely az RSS-hírcsatornák legfrissebb híreit egy tickerben jeleníti meg.

Példák kiterjesztésekre

Példák a WebExtensions technológiával létrehozott és három vagy több böngészőben működő böngészőbővítményekre:

Linkek