www.wikidata.de-de.nina.az
Browser Extensions englisch fur Browser Erweiterungen auch WebExtensions genannt ist ein Standard fur Browsererweiterungen der in den meisten aktuellen Webbrowsern umgesetzt wird Das Format basiert auf den Erweiterungen fur Google Chrome wird inzwischen aber auch von anderen Browsern unterstutzt und gemeinsam weiterentwickelt Inhaltsverzeichnis 1 Name 2 Geschichte 3 Technik 4 Kompatibilitat 5 Einzelnachweise 6 WeblinksName BearbeitenDer Standard nutzt als Bezeichnung den generischen Namen Browser Extensions Opera Entwickler bevorzugen Navigator Extensions wahrend Mozilla den Begriff WebExtensions verwendet Geschichte BearbeitenLange Zeit hatte jeder Browser sein eigenes Format fur Erweiterungen lediglich sehr eng verwandte Browser nutzten das gleiche Format Fur Chrome entwickelte Google ein eigenes Erweiterungsformat das vollstandig auf Webtechnologien basiert Als Opera 2013 mit der Version 15 zur Rendering Engine Blink wechselte wurde auch Unterstutzung fur Googles Browsererweiterungen mit einigen Opera spezifischen Zusatzen eingefuhrt gleichzeitig ausserten Opera Entwickler die Idee das Format zu einem browserubergreifenden Standard zu machen 1 Drei Jahre spater im Mai 2016 grundeten Opera Microsoft und Mozilla die Extensions Community Group um das Format zu spezifizieren 2 Kurz darauf fuhrte Microsoft die Unterstutzung mit Edge 10 ein 3 zeitgleich erreichte Mozillas Implementierung mit Firefox 48 einen stabilen Status 4 Seit Ende 2017 sind mit Firefox 57 WebExtensions das einzige unterstutzte Erweiterungsformat in Firefox 5 Das fuhrte zur Entwicklung von WaterFox und CyberFox auf Firefox 52 ESR basierende Alternativen mit dem Ziel die Abwartskompatibilitat zum alten Add On Format beizubehalten Ziel des Standards ist es zunachst ein gemeinsames Format und die wichtigsten Programmierschnittstellen APIs zu spezifizieren Damit soll es moglich sein Browsererweiterungen zu schreiben die entweder direkt in allen Browsern funktionieren oder zumindest aus einer gemeinsamen Codebasis direkt fur alle Browser erstellt werden konnen Uber den Standard hinaus konnen Browser eigene APIs implementieren die dann von Erweiterungen in diesem Browser genutzt werden konnen Technik BearbeitenBrowsererweiterungen bestehen aus mehreren Dateien die ublicherweise in einem ZIP Container zusammengefasst werden Die zentrale Datei ist dabei manifest json eine Datei im JSON Format mit wichtigen Daten uber die Erweiterung Neben allgemeinen Metadaten wie dem Namen der Erweiterung und Angaben zum Entwickler enthalt diese Datei auch die Berechtigungen die fur die Erweiterung notwendig sind und sie gibt an in welcher Situation welcher Code ausgefuhrt werden soll Wenn beispielsweise auf allen Seiten von Wikipedia ein bestimmter Code ausgefuhrt werden soll so kann er mit folgendem Eintrag in der Manifest Datei festgelegt werden content scripts matches https wikipedia org js code js Der Code selbst ist in JavaScript geschrieben zudem kommen HTML und CSS zum Einsatz beispielsweise fur Konfigurationsseiten Neben den ublichen APIs die allen Webseiten zur Verfugung stehen kann die Erweiterung uber das globale browser Objekt je nach erteilten Berechtigungen mit dem Browser und der aufgerufenen Seite interagieren So kann eine Erweiterung mit dem folgenden Code ein Lesezeichen anlegen vorausgesetzt sie besitzt die Berechtigung dazu browser bookmarks create title Wikipedia url https de wikipedia org wiki Wikipedia Hauptseite Unterschiedliche Browser stellen unterschiedliche APIs zur Verfugung zum einen weil einige Schnittstellen erst noch implementiert werden mussen zum anderen weil bestimmte Funktionen in einigen Browsern grundsatzlich nicht vorgesehen sind So gibt es die API um eine Seitenleiste zu implementieren nur in Browsern die Seitenleisten auch tatsachlich verwenden und fehlt in anderen Browsern Wie fur Webseiten ublich konnen solche Unterschiede zwischen den Browsern am Vorhandensein oder Fehlen der entsprechenden Methoden erkannt und geeignet behandelt werden Ebenso gibt es Polyfills die die Unterschiede zwischen den Browsern ausgleichen Damit Sicherheitslucken in Browsererweiterungen nicht so leicht zur Einschleusung von Schadcode genutzt werden konnen gelten fur Erweiterungen strenge CSP Regeln die allerdings bei Bedarf auch gelockert werden konnen Zudem gilt die ubliche Same Origin Policy eine Erweiterung kann also nur ihre eigenen Daten lesen Auch diese Einschrankung kann bei Bedarf aufgehoben oder gelockert werden Uber den Standard hinaus fordern Browser zudem in der Regel dass die Erweiterung eine digitale Signatur enthalt Kompatibilitat BearbeitenGoogle Chrome unterstutzt diese Browsererweiterungen ab Version 4 allerdings in der ursprunglichen eigenen Variante Insbesondere heisst das globale Objekt nicht browser sondern chrome Die ZIP Datei wird mit einem speziellen Header versehen und nutzt als Dateiendung crx fur Chrome Extension 6 Opera unterstutzt das Format ab Version 15 und verwendet neben dem chrome Objekt auch das globale Objekt opr fur eigene APIs Als Dateiendung kommt bei Opera nex fur Navigator Extension zum Einsatz Die Implementierung ist weitgehend kompatibel zu Google Chrome mit nur wenigen fehlenden APIs und einigen zusatzlichen Funktionen 7 Firefox fuhrte eine Unterstutzung schrittweise ab Version 42 ein 8 und baute den Umfang mit den folgenden Versionen kontinuierlich aus Der Zugriff auf die APIs kann sowohl uber das globale browser Objekt als auch uber chrome erfolgen Die Mehrheit der vorhandenen Chrome Erweiterungen funktioniert auch in Firefox 9 10 Als Dateiendung wird wie fur bisherige Firefox Erweiterungen weiterhin xpi verwendet Microsoft Edge implementiert den Standard ab Version 14 und bietet ein automatisches Konvertierungswerkzeug an mit dem fur Chrome geschriebene Erweiterungen auch fur Edge einsatzfahig gemacht werden konnen 11 Einzelnachweise Bearbeiten Rich Tibbet Introducing NEX Standards Oriented Browser Add Ons In Dev Opera 30 Juli 2013 abgerufen am 29 Juni 2017 englisch Shwetank Dixit For a Better Extensions Ecosystem In Dev Opera 3 Mai 2016 abgerufen am 29 Juni 2017 englisch Kyle Pflug Introducing EdgeHTML 14 with the Windows 10 Anniversary Update In Microsoft Edge Dev Blog 4 August 2016 abgerufen am 29 Juni 2017 englisch Firefox Notes 48 0 Abgerufen am 29 Juni 2017 englisch Kev Needham Add ons in 2017 In Mozilla Add ons Blog 23 November 2016 abgerufen am 29 Juni 2017 englisch CRX Package Format Abgerufen am 29 Juni 2017 englisch Extension APIs Supported in Opera In Dev Opera Abgerufen am 29 Juni 2017 englisch Kev Needham The Future of Developing Firefox Add ons In Mozilla Add ons Blog 21 August 2015 abgerufen am 29 Juni 2017 englisch Andy McKay WebExtensions and parity with Chrome In Mozilla Add ons Blog 13 September 2016 abgerufen am 29 Juni 2017 englisch Andy McKay How many Chrome Extensions run in Firefox 18 November 2016 abgerufen am 29 Juni 2017 englisch Porting an extension from Chrome to Microsoft Edge In Microsoft Edge documentation Abgerufen am 29 Juni 2017 englisch Weblinks BearbeitenSpezifikation Dokumentationen fur einzelne Browser Google Chrome Dokumentation Opera Dokumentation WebExtensions auf MDN Web Docs Microsoft Edge Dokumentation Abgerufen von https de wikipedia org w index php title Browser Extensions amp oldid 208276125