Chrome-Erweiterung mit Manifest V3 und minimalen Berechtigungen bauen
Erstelle eine vollständige Browser-Erweiterung mit Manifest V3: manifest.json mit minimalen Rechten, Service Worker, Content Script, Popup, Messaging, Speicher und Checkliste für den Chrome Web Store. Entwickelt für ChatGPT, Claude, Gemini und Microsoft Copilot. Er enthält 4 anpassbare Variablen und lässt sich kostenlos mit einem Klick kopieren.
Fortgeschritten · Code · Redaktionelle Prüfung ausstehend
Prompt
Du bist Entwickler mit Schwerpunkt auf Chromium-basierten Browser-Erweiterungen mit Manifest V3.
Kontext:
- Was die Erweiterung tun soll: {{zweck}}
- Websites, auf denen sie arbeitet: {{websites}}
- Oberfläche und Einstiegspunkte: {{oberflaeche}}
- Gespeicherte Daten und ob sie geräteübergreifend synchronisiert werden: {{daten}}
Liefere:
1. Architektur: Aufgaben von Service Worker, Content Script und Popup bzw. Optionsseite und wie sie kommunizieren (chrome.runtime.sendMessage, Ports), mit einfachem Diagramm.
2. Eine vollständige manifest.json mit minimal nötigen Berechtigungen: Begründe jede Berechtigung und jeden host_permissions-Eintrag; nutze activeTab oder optional_permissions, wo möglich.
3. Code für jede Datei (Service Worker, Content Script, Popup HTML/CSS/JS, ggf. Optionen) in modernem JavaScript, ohne Remote-Code oder eval, konform zur Content Security Policy von MV3.
4. Persistenz mit chrome.storage (local oder sync je nach {{daten}}), unter Berücksichtigung, dass der Service Worker jederzeit beendet werden kann und keinen Zustand im Speicher hält.
5. Grundlegende Barrierefreiheit im Popup (Labels, Fokus, Kontrast) und übersetzbare Texte mit _locales.
6. So testest du: entpackt laden unter chrome://extensions, Service Worker und Content Script debuggen, Testfälle.
7. Eine Checkliste für die Veröffentlichung im Chrome Web Store: Begründung der Berechtigungen, Datenschutzerklärung bei Datenverarbeitung, Screenshots und Icons.
Einschränkungen:
- Keine Datenerhebung oder Tracking, das der Nutzer nicht angefordert hat; verarbeitet die Erweiterung personenbezogene Daten, nenne, was in der Datenschutzerklärung stehen muss.
- Kann sich eine API zwischen Versionen unterscheiden, markiere sie mit [PRÜFEN in der Chrome-Extensions-Dokumentation].
- Ist unklar, was die Erweiterung auf welcher Website tun soll, frag mich zuerst.
Format: nummerierte Abschnitte, Dateibaum und ein Codeblock pro Datei.So verwenden Sie ihn
Beschreibe das Verhalten mit einem konkreten Beispiel („wenn ich Text markiere, Rechtsklick und …“). Lege die Dateien in einem Ordner an, lade ihn als entpackte Erweiterung und teste jeden Fall, bevor du an eine Veröffentlichung denkst.
Anwendungsbeispiel
Zweck: gewählte Schlüsselwörter in jedem Artikel gelb markieren · Websites: alle, nur nach Klick auf das Icon · Oberfläche: Popup und Kontextmenü · Daten: synchronisierte Wortliste.
Beispielergebnis
1. Architektur
Ein Popup genügt: Beim Öffnen erhält activeTab vorübergehend Zugriff auf den aktuellen Tab. Weder Service Worker noch Content Script sind nötig – das hält Berechtigungen und Angriffsfläche klein.
2. manifest.json
{
"manifest_version": 3,
"name": "__MSG_extName__",
"version": "1.0.0",
"default_locale": "de",
"action": { "default_popup": "popup.html", "default_title": "__MSG_saveTitle__" },
"permissions": ["activeTab", "storage"]
}
activeTab: liest Titel und URL nur, wenn der Nutzer auf das Icon klickt.storage: speichert die Liste inchrome.storage.sync.
3. popup.js
const list = document.querySelector('#list');
async function render() {
const { links = [] } = await chrome.storage.sync.get('links');
list.replaceChildren(...links.map(({ title, url }) => {
const a = Object.assign(document.createElement('a'), { href: url, textContent: title, target: '_blank' });
const li = document.createElement('li');
li.append(a); // textContent: nie innerHTML mit Seitendaten
return li;
}));
}
document.querySelector('#save').addEventListener('click', async () => {
const [tab] = await chrome.tabs.query({ active: true, currentWindow: true });
if (!tab?.url) return;
const { links = [] } = await chrome.storage.sync.get('links');
if (!links.some((l) => l.url === tab.url)) {
links.unshift({ title: tab.title || tab.url, url: tab.url, savedAt: Date.now() });
await chrome.storage.sync.set({ links });
}
render();
});
render();
Achtung: storage.sync begrenzt die Größe pro Eintrag; mit einem einzigen Schlüssel links ist die Liste schnell voll. Speichern Sie jeden Link unter einem eigenen Schlüssel oder wechseln Sie ab einer gewissen Größe zu storage.local [PRÜFEN: Quoten in der Chrome-Extensions-Doku]…
Wichtige Fakten
- Kategorie
- Programmierung & Entwicklung · Plugins
- Ausgabetyp
- Code
- Niveau
- Fortgeschritten
- Entwickelt für
- ChatGPT, Claude, Gemini und Microsoft Copilot
- Verifiziert in
- Redaktionelle Prüfung ausstehend
- Variablen
- Zweck, Websites, Oberfläche und Daten und Synchronisierung
- Sprache
- Deutsch
- Preis
- Kostenlos, ohne Anmeldung
- Aktualisiert
- 07.11.2026
Häufig gestellte Fragen
Läuft die Erweiterung auch in Edge, Brave oder Opera?
Meist ja, denn sie basieren auf Chromium und unterstützen Manifest V3. Einzelne APIs oder Store-Richtlinien können aber abweichen, teste sie also in jedem Browser vor der Veröffentlichung.
Warum so wenige Berechtigungen wie möglich?
Weitreichende Rechte lösen Warnhinweise aus, die Nutzer abschrecken, und verlängern die Prüfung im Chrome Web Store. Außerdem begrenzen sie den Schaden, falls die Erweiterung eine Sicherheitslücke hat.
Wofür ist dieser Prompt gedacht?
Erstelle eine vollständige Browser-Erweiterung mit Manifest V3: manifest.json mit minimalen Rechten, Service Worker, Content Script, Popup, Messaging, Speicher und Checkliste für den Chrome Web Store.
Mit welchen KI-Tools funktioniert er?
Er ist für ChatGPT, Claude, Gemini und Microsoft Copilot entwickelt. Wir haben ihn in diesen Tools noch nicht überprüft, daher können die Ergebnisse variieren.
Wie passe ich den Prompt an?
Klicken Sie auf „Anpassen“ und füllen Sie die Variablen aus (Zweck, Websites, Oberfläche und Daten und Synchronisierung). Der Text wird sofort aktualisiert und lässt sich anschließend mit einem Klick kopieren. Die Werte werden nur in Ihrem Browser gespeichert.
Brauche ich Erfahrung, um ihn zu verwenden?
Er ist für Fortgeschrittene: Es hilft, das Thema zu kennen, um guten Kontext zu liefern und das Ergebnis kritisch zu prüfen.
Ist dieser Prompt kostenlos?
Ja. Jeder Prompt von HomeCasa Prompts ist kostenlos, ohne Anmeldung und ohne Abonnement. Sie können ihn auch in beruflichen Projekten verwenden.
Kann ich der KI-Ausgabe vertrauen?
Betrachten Sie sie als hochwertigen Entwurf: Prüfen Sie Daten, Zahlen und wichtige Aussagen immer, bevor Sie etwas veröffentlichen oder Entscheidungen treffen.