Heim > Web-Frontend > CSS-Tutorial > Wie man zum Veranlassenen von V3 für Chromverlängerungen übergeht

Wie man zum Veranlassenen von V3 für Chromverlängerungen übergeht

Joseph Gordon-Levitt
Freigeben: 2025-03-09 10:08:10
Original
415 Leute haben es durchsucht

How to Transition to Manifest V3 for Chrome Extensions

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.

Die Bedeutung der offensichtlichen V3 -Migration

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:

  1. Die Migration ist seit 2018 im Gange.
  2. Manifest V3 wird im Januar 2023 offiziell mit dem Start beginnen.
  3. Bis Juni 2023 werden Erweiterungen Manifest V2 im Chrome -Webladen nicht mehr verfügbar sein.
  4. Erweiterungen, die nicht den neuen Regeln entsprechen, die in Manifest V3 eingeführt wurden, werden schließlich aus dem Chrome -Webladen entfernt.

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

Es gibt viele Unterschiede zwischen den beiden, und obwohl ich dringend empfehle, Chromes "Migrate to Manifest V3" -Ranal zu lesen, finden Sie hier eine kurze Zusammenfassung der wichtigsten Punkte:

  1. In Manifest V3 ersetzen Servicearbeiter die Backend -Seite.
  2. Die Änderung der Nettoanforderung
  3. wird in Manifest V3 unter Verwendung der neuen DeclarativenTrequest -API behandelt.
  4. In Manifest V3 können Erweiterungen nur JavaScript -Code ausführen, der in ihren Paketen enthalten ist, und kann nicht remote verwaltete Code verwenden.
  5. Manifest V3 führt vielversprechende Unterstützung für viele Methoden ein, obwohl Rückrufe immer noch als Alternative unterstützt werden.
  6. Host -Berechtigungen in Manifest V3 sind ein separates Element und müssen im Feld "Host_permissions" angegeben werden.
  7. Die Inhaltssicherheitsrichtlinie in Manifest V3 ist ein Objekt, dessen Mitglieder einen CSP -Kontext (Alternative Inhaltssicherheitsrichtlinie) darstellen, anstatt eine Zeichenfolge in Manifest V2.

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>
Nach dem Login kopieren
Nach dem Login kopieren
<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>
Nach dem Login kopieren
Nach dem Login kopieren

Wenn Sie einige der oben genannten Tags seltsam sehen, lesen Sie weiter, um zu erfahren, was Sie wissen müssen.

wie man migriert, um V3

zu manifestieren

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:

  1. Aktualisieren Sie die Grundstruktur der Liste.
  2. Hostberechtigungen ändern.
  3. Aktualisieren von Inhaltssicherheitsrichtlinien.
  4. Verarbeitung von Netzwerkanforderungen ändern.

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.

Grundstruktur der Aktualisierungsliste

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>
Nach dem Login kopieren
Nach dem Login kopieren
<code>// Manifest V3
"background": {
  "service_worker": "background.js"
},
"action": {
  "default_popup": "popup.html"
}</code>
Nach dem Login kopieren
Nach dem Login kopieren

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.

Hostberechtigungen

ändern

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>
Nach dem Login kopieren
Nach dem Login kopieren
<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>
Nach dem Login kopieren
Nach dem Login kopieren

Inhaltssicherheitsrichtlinie aktualisieren

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>
Nach dem Login kopieren
Nach dem Login kopieren
<code>// Manifest V3
"background": {
  "service_worker": "background.js"
},
"action": {
  "default_popup": "popup.html"
}</code>
Nach dem Login kopieren
Nach dem Login kopieren

Verarbeitung von Netzwerkanforderungen

ä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>
Nach dem Login kopieren
zu verwenden
<code>// Manifest V3
"permissions": [ 
  "activeTab", 
  "scripting", 
  "storage"
],
"host_permissions": [
  "http://www.css-tricks.com/" 
],
"optional_host_permissions": [ 
  ":///*" 
]</code>
Nach dem Login kopieren

Sie müssen auch den Erweiterungscode aktualisieren, um die DeclarativenTequest -API anstelle der Chrome.WebRequest -API zu verwenden.

Andere Aspekte, die überprüft werden müssen

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.
  • Hintergrundskripte migrieren in die Ausführung von Arbeitnehmerausführungen: Wie bereits erwähnt, ersetzt Manifest V3 die Hintergrundseite durch einen einzelnen Erweiterungsdienstarbeiter, sodass die Hintergrundskripte für den Ausführungskontext der Service Worker -Ausführung aktualisiert werden müssen.
  • Unified chrome.browserAction und chrome.pageAction API:
  • Diese beiden äquivalenten APIs werden in Manifest V3 in eine einzelne API zusammengeführt, sodass sie möglicherweise in die Aktions -API migriert werden müssen.
  • Erwartungsfunktionen des Manifest V2 Hintergrundkontext: 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
  • unvereinbar. Es kann erforderlich sein, zu einem Design zu migrieren, das Nachrichten zwischen anderen Kontexten und Backend -Service -Mitarbeitern übergibt.
  • CORS -Anforderungen im Inhaltskript in den Hintergrunddienstarbeiter verschieben:
  • Um dem Manifest V3 einzuhalten, kann es erforderlich sein, CORS -Anforderungen im Inhaltskript an den Hintergrunddienstarbeiter zu verschieben.
  • Migrieren Sie von der Ausführung externer Code oder beliebiger Zeichenfolgen: 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
  • zu erstellen.
  • Aktualisieren Sie einige Skripte und CSS -Methoden in der Registerkarte API:
  • Wie bereits erwähnt, bewegen sich einige Methoden von der Registerkarte API zur Skript -API in Manifest V3. Alle Aufrufe dieser Methoden müssen möglicherweise aktualisiert werden, um die richtige Manifest V3 API zu verwenden.

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!

Wie benutze ich die Funktionen im neuen Manifest V3 in der Zukunft?

chrome.webRequestAPI für mich scheinen die Migration zum Manifest V3 und die Entfernung von

die Erweiterung von datenzentrierten Anwendungsfällen wie Anzeigenblockern zu funktionalen und anwendungsbasierten Anwendungsfällen zu verschieben. Ich habe in letzter Zeit die Anwendungsentwicklung vermieden, da sie manchmal sehr ressourcenverwendet werden kann. Dieser Übergang kann mich jedoch wieder darauf bringen!

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!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage