Heim Web-Frontend js-Tutorial Erstellen von Chrome-Erweiterungen: Ein kurzer Überblick

Erstellen von Chrome-Erweiterungen: Ein kurzer Überblick

Aug 29, 2024 am 11:03 AM

Building Chrome Extensions : A Quick Overview

Mods – Modifikationen? Wenn Sie sich für Spiele interessieren, wissen Sie, dass es nichts Schöneres gibt, als ein modifiziertes Spiel zu spielen. Es ist Ihr Lieblingsspiel, aber mit zusätzlicher Leistung, Funktionen und Spaß. Stellen Sie sich nun vor, dass Sie die gleiche Spannung auch beim Surfen im Internet erleben würden. Genau das machen Browser-Erweiterungen – sie sind wie Mods für Ihren Browser, die ihn auf eine Weise aufladen, die Sie nie für möglich gehalten hätten.

Mit einer Chrome-Erweiterung können Sie Ihren Browser perfekt an Ihre Bedürfnisse anpassen – sei es, indem er bestimmte URLs blockiert, neue Funktionen hinzufügt oder ihm sogar ein völlig neues Aussehen verleiht. Und das Beste daran? Sie können diese Erweiterungen selbst erstellen. In dieser Anleitung führe ich Sie Schritt für Schritt durch den Prozess der Erstellung Ihrer eigenen Chrome-Erweiterung.


Der Einstieg in Web-Erweiterungen ist einfacher als Sie denken! Wenn Sie JavaScript beherrschen, ist es ein Kinderspiel – Sie müssen nur eine neue API erlernen. Schließlich handelt es sich im Kern immer noch um JavaScript.

Dieser Artikel ist eine Ergänzung zu: The Chrome Extensions Handbook: Memory-Heavy to Production-Ready


Inhaltsverzeichnis

  • Weberweiterungen 101
  • Das Manifest aufschlüsseln:
  • Einen einfachen Bild-Downloader erstellen
  • Die Download-Funktion:
  • Wir sind bereit, unsere Erweiterung zu testen
  • Laden der Erweiterung
  • Fazit

Weberweiterungen 101

Weberweiterungen sind wie Mods, jedoch für Browser. Sie können vollständig anpassen, wie sich der Browser verhält – denken Sie an AdBlock – oder wie er aussieht, wie bei Mozilla-Themes.

Erstellen Sie zunächst einen neuen Ordner!

Alles, was Sie brauchen, ist eine manifest.json. Dies ist die Hauptfunktion, außer für Web-Erweiterungen. Es ist die erste Datei, nach der der Browser sucht!

{
    "manifest_version": 3,
    "name": "img-downl",
    "version": "1.0",
    "description": "image ac?",
    "content_scripts": [
        {
            "matches": ["<all_urls>"],
            "js": ["content.js"]
        }
    ],
    "permissions": [
        "activeTab"
    ]
}
Nach dem Login kopieren

Das Manifest enthält alle Metadaten für Ihre Erweiterung. Es geht darum, wie Browser Ihre Erweiterung verstehen und was sie kann.


Das Manifest aufschlüsseln:

  • „manifest_version“: 3, Dadurch wird dem Browser mitgeteilt, welche API-Version Sie verwenden werden. Während Version 2 die vorherige ist, ist Version 3 (V3) die neueste API. Es ist sicherer und leistungsfähiger und die meisten Browser, einschließlich Chrome, sind nur auf Version 3 umgestiegen.

Ein wesentlicher Unterschied ist der Übergang von persistenten Hintergrundskripten zu Servicemitarbeitern. Hintergrundskripte in V2 wurden während der gesamten Lebensdauer einer Erweiterung ausgeführt (während der Benutzer surft), daher der „persistente“ Aspekt. In V3 werden sie nur bei Bedarf ausgeführt!

  • Inhaltsskripte: Inhaltsskripte werden in die Webseite selbst eingefügt. In unserer kleinen Erweiterung wird content.js in jede URL eingefügt, die mit „matches“ übereinstimmt: [„“]. Wenn Sie also zu einer beliebigen URL navigieren oder einen neuen Tab öffnen, wird content.js in die Seite eingefügt und ausgeführt.

Inhaltsskripte haben im Gegensatz zu Hintergrundskripten Zugriff auf das DOM.

Dies ist die Grundstruktur eines einfachen Plugins. Wenn Sie weitere Erweiterungsprojekte erstellen, erfahren Sie mehr über Berechtigungen und zusätzliche Funktionen. Für eine Einführung reicht diese einfache Aufschlüsselung.


Erstellen eines einfachen Bild-Downloaders

Fertig?

Diese Erweiterung ist von einem Computer-Vision-Kurs inspiriert, den ich vor einiger Zeit besucht habe. Wir mussten ein Tool zum Herunterladen von Bildern aus der Google-Suche implementieren.

Hinweis: Ich empfehle nicht, diese Erweiterung ständig laufen zu lassen, es sei denn, Sie möchten bei jedem Surfen Bilder herunterladen.

Erstellen Sie im selben Ordner wie Ihre manifest.json content.js und fügen Sie Folgendes ein:

async function processAllImages() {
    const images = document.querySelectorAll('img');
    let count = 0;
    for (const img of images) {
        const url = img.src;
        const filename = `image${count++}.png`; // Generate a filename for each image
        try {
            await downloadImage(url, filename);
            console.log(`Downloaded ${filename}`);
        } catch (error) {
            console.error(`Error downloading image from ${url}:`, error);
        }
    }
}
// Run the function to process and download images
processAllImages();
Nach dem Login kopieren

Denken Sie daran, dass ein Inhaltsskript in eine Webseite eingefügt wird. Wenn Sie beispielsweise zu example.com navigieren, wird „processAllImages“ ausgeführt.

Es greift lediglich alle Bildelemente und übergibt sie an eine Download-Funktion:

const images = document.querySelectorAll('img');
Nach dem Login kopieren

Die Download-Funktion:

async function downloadImage(url, filename) {
    return new Promise((resolve, reject) => {
        fetch(url)
            .then(response => {
                if (!response.ok) throw new Error('Network response was not ok.');
                return response.blob();
            })
            .then(blob => {
                const a = document.createElement('a');
                a.href = URL.createObjectURL(blob);
                a.download = filename;
                a.style.display = 'none';
                document.body.appendChild(a);
                a.click();
                URL.revokeObjectURL(a.href); // Clean up the object URL
                document.body.removeChild(a);
                resolve();
            })
            .catch(error => reject(error));
    });
}
Nach dem Login kopieren

Hinweis: Dies funktioniert nur für statische Bilder. Dynamische und verzögert geladene Bilder können beschädigt sein – das können Sie in zukünftigen Iterationen beheben.


Wir sind bereit, unsere Erweiterung zu testen

Ich verwende Brave, das auf Chrome basiert, aber der Vorgang ist bei allen Browsern ähnlich.

Zum Testen müssen Sie den Entwicklermodus in Ihrem gewählten Browser aktivieren.


Laden der Erweiterung

Diese Erweiterung sollte unverändert auch in Mozilla funktionieren, da wir nicht auf den Chrome-Namespace angewiesen sind.

          Mutig:        

              Geben Sie brave://extensions/ in die Adressleiste ein.        

              Entwicklermodus aktivieren.      

              Laden Sie die Erweiterung, indem Sie den Ordner auswählen.
             

   Chrome und Edge: Befolgen Sie ähnliche Schritte wie bei Brave.

         (chrome://extensions/ oder edge://extensions/)

     


Abschluss

Mods – Modifikationen machen Spaß! Diese Erweiterung mag einfach sein, zeigt aber die Grundlagen, die Ihnen den Einstieg erleichtern. Mozillas MDN ist eine perfekte Ressource, um Ihr Wissen über Weberweiterungen (sowohl allgemeine Weberweiterungen als auch browserspezifische) zu erweitern.

Denken Sie daran: Deaktivieren Sie die Erweiterung oder deinstallieren Sie sie, wenn Sie fertig sind, um unerwünschte Downloads zu vermeiden.

Oder noch besser…

Eine Herausforderung: Finden Sie eine Möglichkeit, Eingaben zu empfangen (Hinweis: Klick, Symbol und Hintergrundskript) und führen Sie die Funktion „Bilder verarbeiten“ nur aus, wenn der Benutzer auf eine Schaltfläche klickt.

Das obige ist der detaillierte Inhalt vonErstellen von Chrome-Erweiterungen: Ein kurzer Überblick. 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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

<🎜>: Bubble Gum Simulator Infinity - So erhalten und verwenden Sie Royal Keys
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Nordhold: Fusionssystem, erklärt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Mandragora: Flüstern des Hexenbaum
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Java-Tutorial
1673
14
PHP-Tutorial
1278
29
C#-Tutorial
1257
24
Python vs. JavaScript: Die Lernkurve und Benutzerfreundlichkeit Python vs. JavaScript: Die Lernkurve und Benutzerfreundlichkeit Apr 16, 2025 am 12:12 AM

Python eignet sich besser für Anfänger mit einer reibungslosen Lernkurve und einer kurzen Syntax. JavaScript ist für die Front-End-Entwicklung mit einer steilen Lernkurve und einer flexiblen Syntax geeignet. 1. Python-Syntax ist intuitiv und für die Entwicklung von Datenwissenschaften und Back-End-Entwicklung geeignet. 2. JavaScript ist flexibel und in Front-End- und serverseitiger Programmierung weit verbreitet.

JavaScript und das Web: Kernfunktionalität und Anwendungsfälle JavaScript und das Web: Kernfunktionalität und Anwendungsfälle Apr 18, 2025 am 12:19 AM

Zu den Hauptanwendungen von JavaScript in der Webentwicklung gehören die Interaktion der Clients, die Formüberprüfung und die asynchrone Kommunikation. 1) Dynamisches Inhaltsaktualisierung und Benutzerinteraktion durch DOM -Operationen; 2) Die Kundenüberprüfung erfolgt vor dem Einreichung von Daten, um die Benutzererfahrung zu verbessern. 3) Die Aktualisierung der Kommunikation mit dem Server wird durch AJAX -Technologie erreicht.

JavaScript in Aktion: Beispiele und Projekte in realer Welt JavaScript in Aktion: Beispiele und Projekte in realer Welt Apr 19, 2025 am 12:13 AM

Die Anwendung von JavaScript in der realen Welt umfasst Front-End- und Back-End-Entwicklung. 1) Zeigen Sie Front-End-Anwendungen an, indem Sie eine TODO-Listanwendung erstellen, die DOM-Operationen und Ereignisverarbeitung umfasst. 2) Erstellen Sie RESTFUFFUPI über Node.js und express, um Back-End-Anwendungen zu demonstrieren.

Verständnis der JavaScript -Engine: Implementierungsdetails Verständnis der JavaScript -Engine: Implementierungsdetails Apr 17, 2025 am 12:05 AM

Es ist für Entwickler wichtig, zu verstehen, wie die JavaScript -Engine intern funktioniert, da sie effizientere Code schreibt und Leistungs Engpässe und Optimierungsstrategien verstehen kann. 1) Der Workflow der Engine umfasst drei Phasen: Parsen, Kompilieren und Ausführung; 2) Während des Ausführungsprozesses führt die Engine dynamische Optimierung durch, wie z. B. Inline -Cache und versteckte Klassen. 3) Zu Best Practices gehören die Vermeidung globaler Variablen, die Optimierung von Schleifen, die Verwendung von const und lass und die Vermeidung übermäßiger Verwendung von Schließungen.

Python gegen JavaScript: Community, Bibliotheken und Ressourcen Python gegen JavaScript: Community, Bibliotheken und Ressourcen Apr 15, 2025 am 12:16 AM

Python und JavaScript haben ihre eigenen Vor- und Nachteile in Bezug auf Gemeinschaft, Bibliotheken und Ressourcen. 1) Die Python-Community ist freundlich und für Anfänger geeignet, aber die Front-End-Entwicklungsressourcen sind nicht so reich wie JavaScript. 2) Python ist leistungsstark in Bibliotheken für Datenwissenschaft und maschinelles Lernen, während JavaScript in Bibliotheken und Front-End-Entwicklungsbibliotheken und Frameworks besser ist. 3) Beide haben reichhaltige Lernressourcen, aber Python eignet sich zum Beginn der offiziellen Dokumente, während JavaScript mit Mdnwebdocs besser ist. Die Wahl sollte auf Projektbedürfnissen und persönlichen Interessen beruhen.

Python vs. JavaScript: Entwicklungsumgebungen und Tools Python vs. JavaScript: Entwicklungsumgebungen und Tools Apr 26, 2025 am 12:09 AM

Sowohl Python als auch JavaScripts Entscheidungen in Entwicklungsumgebungen sind wichtig. 1) Die Entwicklungsumgebung von Python umfasst Pycharm, Jupyternotebook und Anaconda, die für Datenwissenschaft und schnelles Prototyping geeignet sind. 2) Die Entwicklungsumgebung von JavaScript umfasst Node.JS, VSCODE und WebPack, die für die Entwicklung von Front-End- und Back-End-Entwicklung geeignet sind. Durch die Auswahl der richtigen Tools nach den Projektbedürfnissen kann die Entwicklung der Entwicklung und die Erfolgsquote der Projekte verbessert werden.

Die Rolle von C/C bei JavaScript -Dolmetschern und Compilern Die Rolle von C/C bei JavaScript -Dolmetschern und Compilern Apr 20, 2025 am 12:01 AM

C und C spielen eine wichtige Rolle in der JavaScript -Engine, die hauptsächlich zur Implementierung von Dolmetschern und JIT -Compilern verwendet wird. 1) C wird verwendet, um JavaScript -Quellcode zu analysieren und einen abstrakten Syntaxbaum zu generieren. 2) C ist für die Generierung und Ausführung von Bytecode verantwortlich. 3) C implementiert den JIT-Compiler, optimiert und kompiliert Hot-Spot-Code zur Laufzeit und verbessert die Ausführungseffizienz von JavaScript erheblich.

Python gegen JavaScript: Anwendungsfälle und Anwendungen verglichen Python gegen JavaScript: Anwendungsfälle und Anwendungen verglichen Apr 21, 2025 am 12:01 AM

Python eignet sich besser für Datenwissenschaft und Automatisierung, während JavaScript besser für die Entwicklung von Front-End- und Vollstapel geeignet ist. 1. Python funktioniert in Datenwissenschaft und maschinellem Lernen gut und unter Verwendung von Bibliotheken wie Numpy und Pandas für die Datenverarbeitung und -modellierung. 2. Python ist prägnant und effizient in der Automatisierung und Skripten. 3. JavaScript ist in der Front-End-Entwicklung unverzichtbar und wird verwendet, um dynamische Webseiten und einseitige Anwendungen zu erstellen. 4. JavaScript spielt eine Rolle bei der Back-End-Entwicklung durch Node.js und unterstützt die Entwicklung der Vollstapel.

See all articles