Heim >Web-Frontend >CSS-Tutorial >Wie man zum Veranlassenen von V3 für Chromverlängerungen übergeht
Vor kurzem hat einer meiner Kunden meine Erweiterung abgelehnt, weil sie "veraltet" war, was mich dazu veranlasste, mich in das offensichtliche V3 von Chromverlängerungen zu graben. Es gibt einen Mangel an Informationen über Manifest V3 online und es ist schwer zu verstehen.
Nach einiger harter Arbeit habe ich die Aufgabe endgültig abgeschlossen, aber ich wollte nicht, dass meine Forschungsergebnisse verschwendet werden, also habe ich beschlossen, meine Lernerfahrung zu teilen.
Manifest V3 ist die API von Google für Chrome, der Nachfolger der aktuellen API -Manifest V2, die es verwaltet, wie Chromverlängerungen mit dem Browser interagieren. Manifest V3 hat wesentliche Änderungen an den Regeln der Erweiterung vorgenommen, von denen einige zu den neuen Säulen der V2 werden, die wir verwendet haben.
Die Migration von Manifest V3 kann wie folgt zusammengefasst werden:
Eines der Hauptziele des Manifest V3 ist die Verbesserung der Benutzersicherheit und die Verbesserung des gesamten Browsererlebnisses. Zuvor waren viele Browser-Erweiterungen vom Cloud-basierten Code abhängig, was bedeutete, dass es schwierig war zu bewerten, ob die Erweiterung riskant war. Manifest V3 wurde entwickelt, um dieses Problem zu lösen, indem die Erweiterung den gesamten Code einbezieht, der ausgeführt wird, sodass Google sie scannen und potenzielle Risiken erkennen können. Es erzwingt auch die Erweiterung, um die Erlaubnis von Google für Änderungen zu beantragen, die sie im Browser umsetzen kann.
Es ist wichtig, mit der Migration von Google auf dem Laufenden zu bleiben, um V3 zu manifestieren, da es neue Regeln für Erweiterungen zur Verbesserung der Sicherheit der Benutzer und des Gesamtbrowsererlebnisses einführt, und Erweiterungen, die diese Regeln nicht entsprechen, werden schließlich aus dem Chrome -Webladen entfernt.
Kurz gesagt, wenn Sie nicht so schnell wie möglich migrieren, können alle Ihre Bemühungen, Erweiterungen zu schaffen, die manifest V2 verwenden, verschwendet.Schlüsselunterschiede zwischen Manifest V2 und V3
In einer Liste von Chromerweiterungen, die einfach den Hintergrund einer Webseite ändern, sieht es möglicherweise so aus:
<code>// Manifest V2 { "manifest_version": 2, "name": "Shane's Extension", "version": "1.0", "description": "A simple extension that changes the background of a webpage to Shane's face.", "background": { "scripts": ["background.js"], "persistent": true }, "browser_action": { "default_popup": "popup.html" }, "permissions": [ "activeTab", ], "optional_permissions": ["<all_urls>"] }</all_urls></code>
<code>// Manifest V3 { "manifest_version": 3, "name": "Shane's Extension", "version": "1.0", "description": "A simple extension that changes the background of a webpage to Shane's face.", "background": { "service_worker": "background.js" }, "action": { "default_popup": "popup.html" }, "permissions": [ "activeTab", ], "host_permissions": [ "<all_urls>" ] }</all_urls></code>
Wenn Sie einige der oben genannten Tags seltsam sehen, lesen Sie weiter, um zu erfahren, was Sie wissen müssen.
Ich habe die Migration zusammengefasst, um V3 in vier Schlüsselbereiche zu manifestieren. Während es in der neuen Manifest V3 viele neue Funktionen gibt, die aus dem alten Manifest V2 implementiert werden müssen, werden Sie Ihre Chromerweiterung für die endgültige Migration vorbereiten.
Die vier Schlüsselbereiche sind:
Durch diese vier Aspekte sind die Grundelemente Ihrer Liste bereit, um V3 zu migrieren. Schauen wir uns jeden wichtigen Aspekt im Detail an und lernen, wie man arbeitet, um Ihre Chromerweiterung vor dieser Migration zu schützen.
Die Grundstruktur der Aktualisierung des Manifests ist der erste Schritt, um sich zum Manifest V3 zu bewegen. Die wichtigste Änderung, die Sie vornehmen müssen, besteht darin, den Wert des Elements "Manifest_version" auf 3 zu ändern, was bedeutet, dass Sie den Manifest V3 -Funktionssatz verwenden.
Einer der Hauptunterschiede zwischen Manifest V2 und V3 ist der Ersatz der Backend -Seite durch einen einzelnen Erweiterungsdienstarbeiter in Manifest V3. Sie müssen einen Servicearbeiter im Feld "Hintergrund" registrieren, den Schlüssel "service_worker" verwenden und eine einzelne JavaScript -Datei angeben. Auch wenn Manifest V3 nicht mehrere Hintergrundskripte unterstützt, können Sie den Service Worker als ES -Modul deklarieren, indem Sie "Typ": "Modul" angeben, mit dem Sie mehr Code importieren können.
In Manifest V3 werden die Attribute "browser_action" und "page_action" in ein einzelnes "Aktion" -Triput verschmolzen. Sie müssen diese Eigenschaften durch "Aktion" im Manifest ersetzen. In ähnlicher Weise werden das Chrom.Browseraction and Chrom.PageAction -APIs in Manifest V3 in eine einzelne "Aktion" -API zusammengeführt, auf die Sie migrieren müssen.
<code>// Manifest V2 "background": { "scripts": ["background.js"], "persistent": false }, "browser_action": { "default_popup": "popup.html" },</code>
<code>// Manifest V3 "background": { "service_worker": "background.js" }, "action": { "default_popup": "popup.html" }</code>
im Allgemeinen ist die Grundstruktur des Update -Manifests ein wichtiger Schritt in der Migration zum Manifest V3, da Sie neue Funktionen und Änderungen nutzen können, die in dieser Version der API eingeführt werden.
Der zweite Schritt bei der Migration zum Manifest V3 besteht darin, die Hostberechtigungen zu ändern. In Manifest V2 geben Sie Host -Berechtigungen im Feld "Berechtigungen" der Manifest -Datei an. In Manifest V3 sind Host -Berechtigungen ein separates Element, das Sie im Feld "Host_permissions" der Manifest -Datei angeben sollten.
Folgendes ist ein Beispiel für die Änderung der Hostberechtigungen:
<code>// Manifest V2 { "manifest_version": 2, "name": "Shane's Extension", "version": "1.0", "description": "A simple extension that changes the background of a webpage to Shane's face.", "background": { "scripts": ["background.js"], "persistent": true }, "browser_action": { "default_popup": "popup.html" }, "permissions": [ "activeTab", ], "optional_permissions": ["<all_urls>"] }</all_urls></code>
<code>// Manifest V3 { "manifest_version": 3, "name": "Shane's Extension", "version": "1.0", "description": "A simple extension that changes the background of a webpage to Shane's face.", "background": { "service_worker": "background.js" }, "action": { "default_popup": "popup.html" }, "permissions": [ "activeTab", ], "host_permissions": [ "<all_urls>" ] }</all_urls></code>
Um den CSP der Manifest V2 -Erweiterung zu aktualisieren, um mit dem Manifest V3 übereinzustimmen, müssen Sie einige Änderungen an der Manifestdatei vornehmen. In Manifest V2 wird CSP als Zeichenfolge im Feld "content_security_policy" des Manifest angegeben.
In Manifest V3 ist CSP jetzt ein Objekt, dessen unterschiedliche Mitglieder einen alternativen CSP -Kontext darstellen. Anstatt jetzt ein einzelnes Feld "content_security_policy" zu verwenden, müssen Sie separate Felder für "content_security_policy.extesion_pages" und "content_security_policy.sandbox" angeben, abhängig von der Art der Erweiterung Seite.
Wenn Sie eine externe Domäne in Ihrem aktuellen CSP haben, sollten Sie auch alle Referenzen aus den Direktiven "Skript-SRC", "Worker-SRC", "Object-SRC" und "Style-SRC" -Direktiven löschen. Es ist wichtig, diese CSP -Aktualisierungen zu erstellen, um die Sicherheit und Stabilität der Erweiterung in Manifest V3 sicherzustellen.
<code>// Manifest V2 "background": { "scripts": ["background.js"], "persistent": false }, "browser_action": { "default_popup": "popup.html" },</code>
<code>// Manifest V3 "background": { "service_worker": "background.js" }, "action": { "default_popup": "popup.html" }</code>
ändern
Der letzte Schritt bei der Migration zum Manifest V3 besteht darin, die Verarbeitung von Netzwerkanforderungen zu ändern. In Manifest V2 verwenden Sie die Chrome.WebRequest -API, um Netzwerkanforderungen zu ändern. Diese API wird jedoch durch die DeclarativenTrequest -API in Manifest V3 ersetzt.Um diese neue API zu verwenden, müssen Sie die deklarativenTrequest -Berechtigung im Manifest angeben und den Code aktualisieren, um die neue API zu verwenden. Ein wesentlicher Unterschied zwischen den beiden APIs besteht darin, dass die DeclarativenTequest-API eine Liste vordefinierter Adressen angeben muss, anstatt die gesamte Kategorie HTTP-Anforderungskategorie zu blockieren, wie die Verwendung der Chrome.WebRequest-API.
Es ist sehr wichtig, diese Änderungen am Code vorzunehmen, um sicherzustellen, dass die Erweiterung unter dem Manifest V3 weiterhin ordnungsgemäß funktioniert. Hier ist ein Beispiel dafür, wie Sie das Manifest ändern können, um die deklarativenTequest -API in Manifest V3:
<code>// Manifest V2 "permissions": [ "activeTab", "storage", "http://www.css-tricks.com/", ":///*" ]</code>zu verwenden
<code>// Manifest V3 "permissions": [ "activeTab", "scripting", "storage" ], "host_permissions": [ "http://www.css-tricks.com/" ], "optional_host_permissions": [ ":///*" ]</code>
Sie müssen auch den Erweiterungscode aktualisieren, um die DeclarativenTequest -API anstelle der Chrome.WebRequest -API zu verwenden.
Was ich vorgestellt habe, ist nur die Spitze des Eisbergs. Wenn ich alles abdecken wollte, könnte ich tagelang hier sein und der Chrome Developer -Leitfaden von Google macht keinen Sinn. Während das, was ich abgedeckt habe, Ihre Chrome -Erweiterung für diese Migration sicher genug macht, finden Sie hier einige andere Dinge, die Sie vielleicht überprüfen möchten, um sicherzustellen, dass Ihre Erweiterung ordnungsgemäß funktioniert.
chrome.browserAction
und chrome.pageAction
API: chrome.runtime.getBackgroundPage()
Die Einführung von Dienstangestellten in Manifest V3 ist mit Methoden wie chrome.extension.getBackgroundPage()
, chrome.extension.getExtensionTabs()
, chrome.extension.getViews()
und chrome.scripting.executeScript({code: '...'})
Manifest V3 darf keine externe Logik mithilfe eval()
, new Function()
und chrome.runtime.getURL()
ausführen. Es kann erforderlich sein, alle externen Code (JavaScript, WebAssembly, CSS) in das Erweiterungspaket zu verschieben, Skripte und Stilreferenzen zu aktualisieren, um Ressourcen aus dem Erweiterungspaket zu laden und die Ressourcen -URL zur Laufzeit mit und mehr!
Nehmen Sie sich etwas Zeit, um alle Änderungen zu verstehen. Schließlich ist diese Änderung unvermeidlich, und wenn Sie die offensichtliche V2 -Erweiterung nicht verlieren möchten, weil Sie diese Migration vermeiden, nehmen Sie sich etwas Zeit, um das erforderliche Wissen zu beherrschen.
Andererseits können Sie in der Welt der Webentwickler -Tools von Chrome in die Welt der Chrom -Tools von Chromen in die Welt der Chrom -Webentwickler -Tools eintauchen, wenn Sie neu sind. Ich habe dies mit einem Kurs über LinkedIn Learning gemacht, der mir einen kurzen Verständnis der Geschwindigkeit gab. Sobald Sie diese Grundlagen gemeistert haben, kehren Sie bitte zu diesem Artikel zurück und übersetzen Sie das, was Sie wissen, basierend auf Manifest V3!
chrome.webRequestAPI
für mich scheinen die Migration zum Manifest V3 und die Entfernung von
Der Aufstieg der Tools für künstliche Intelligenz in den letzten Jahren, von denen viele verfügbare APIs bieten, hat eine große Anzahl neuer und frischer SaaS -Anwendungen inspiriert. Ich persönlich denke, dass dies bis zu mehr Chromverlängerungen basierend auf Anwendungen ist! Während viele alte Erweiterungen durch diese Migration freigegeben werden können, werden viele neue Erweiterungen, die sich um neuartige SaaS -Ideen basieren, ersetzt.
Dies ist also ein aufregendes Update, mit dem alte Erweiterungen verbessert oder neue aufgebaut werden können! Ich persönlich denke, dass es viele Möglichkeiten gibt, APIs zu verwenden, die künstliche Intelligenz in Erweiterungen beinhalten, um die Erfahrung des Nutzers zu verbessern. Aber das ist wirklich nur die Spitze des Eisbergs. Wenn Sie Ihre eigene professionelle Erweiterung wirklich verwenden oder ein Unternehmen kontaktieren möchten, um Erweiterungen für sie zu erstellen/zu aktualisieren, empfehle ich, Ihr Google Mail -Konto zu aktualisieren, da es Vorteile bei der Zusammenarbeit, Entwicklung und Veröffentlichung von Erweiterungen im Chrome -Webladen hat.
Denken Sie jedoch daran, dass jeder Entwickler unterschiedlich benötigt. Erfahren Sie also, was Sie benötigen, um die aktuelle Erweiterung am Laufen zu halten, oder eine neue Erweiterung ausführen!
Das obige ist der detaillierte Inhalt vonWie man zum Veranlassenen von V3 für Chromverlängerungen übergeht. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!