Browserstile
Ihre Erweiterung kann Benutzeroberflächenelemente enthalten - Browser- und Seitenaktionen wie Popups, Seitenleisten und Optionsseiten, die folgendermaßen spezifiziert werden:
- Erstellen einer HTML-Datei, die die Struktur des UI-Elements definiert.
- Hinzufügen eines manifest.json-Schlüssels (
action,browser_action,page_action,sidebar_actionoderoptions_ui), der auf diese HTML-Datei verweist.
Sie können diese Elemente so gestalten, dass sie dem Stil des Browsers entsprechen. Die manifest.json-Schlüssel enthalten eine optionale Eigenschaft, die dabei hilft: browser_style. Wenn diese enthalten ist und auf true gesetzt wird, erhält Ihr Dokument ein oder mehrere zusätzliche Stylesheets, die dabei helfen, das Aussehen an die Benutzeroberfläche des Browsers und an andere Erweiterungen, die die Eigenschaft browser_style verwenden, anzupassen.
Hinweis:
Die Unterstützung für browser_style in Manifest V3 ist veraltet. Ab Firefox 115 ändert sich der Standardwert von options_ui.browser_style und sidebar_action.browser_style von true auf false. In Firefox 118 wird "browser_style": true in Manifest V3-Erweiterungen nicht mehr unterstützt.
Wenn Ihre Manifest V3-Erweiterung auf den "browser_style": true-Styles beruht, folgen Sie dem Leitfaden zur Migration von Manifest V3 für browser_style.
Weitere Informationen finden Sie unter (Firefox Bug 1827910).
Wenn Sie den Firefox-Stil auf Ihre Erweiterung anwenden möchten, siehe den Firefox Style Guide.
Wenn Sie erwägen, browser_style: true zu verwenden, testen Sie Ihre Erweiterung mit verschiedenen Themes (integriert oder von AMO), um sicherzustellen, dass die UI der Erweiterung wie erwartet funktioniert.
Warnung:
Wenn browser_style: true in Ihrer Web-Erweiterungs-Manifestdatei enthalten ist, wird die Textauswahl in der Benutzeroberfläche Ihrer Erweiterung außer in Eingabesteuerelementen deaktiviert. Wenn dies ein Problem verursacht, fügen Sie stattdessen browser_style:false ein.
Hinweis:
Google Chrome und Opera verwenden chrome_style anstelle von browser_style in Manifest V2. Für cross-browser Erweiterungen müssen Sie daher beide Schlüssel hinzufügen. chrome_style ist in Manifest V3 nicht verfügbar.
In Firefox kann das Stylesheet unter chrome://browser/content/extension.css eingesehen werden. Das zusätzliche Stylesheet unter chrome://browser/content/extension-mac.css wird ebenfalls auf macOS eingebunden.
Die meisten Stile werden automatisch angewendet, aber einige Elemente erfordern, dass Sie die nicht standardisierte browser-style-Klasse hinzufügen, um deren Styling zu erhalten, wie in der Tabelle unten beschrieben:
| Element | Beispiel |
|---|---|
<button>
|
html |
|
html |
|
<textarea>
|
html |
Eltern eines
<input>
|
html
|
Migration von Manifest V3
Da browser_style in Manifest V3 veraltet ist, möchten Sie vielleicht die Unterstützung entfernen, wenn Sie Ihre Manifest V2-Erweiterungen migrieren. Verwenden Sie options_ui als Beispiel, würden Sie diese Schritte unternehmen, um die Unterstützung für browser_style zu entfernen:
- Setzen Sie
options_ui/browser_styleauffalse. - Ändert sich das Erscheinungsbild Ihrer Erweiterungs-UI?
- Wenn sich das Erscheinungsbild nicht ändert, entfernen Sie den Schlüssel.
- Wenn sich das Erscheinungsbild ändert, experimentieren Sie, um herauszufinden, welche Abhängigkeiten bestehen, und fügen Sie die relevanten Eigenschaften im Stylesheet der Erweiterung hinzu. Die Stile, die am wahrscheinlichsten Layoutänderungen verursachen, sind
box-sizing:,border-box, unddisplay: flex. Wenn Sie die Abhängigkeiten nicht identifizieren können, fügen Sie den Inhalt von extension.css mit der Erweiterung ein und löschen Sie alle nicht relevanten Teile, üblicherweise diebody- undbody *-Blöcke, da die meisten Erweiterungen diebrowser-style-Klasse nicht verwenden.
Firefox-Panel-Komponenten (veraltet)
Hinweis: Diese Funktion ist nicht standardisiert und funktioniert nur in Firefox.
Das Stylesheet chrome://browser/content/extension.css enthält auch die Stile für die veralteten Firefox-Panel-Komponenten (Navigationskomponenten).
Der veraltete Firefox Style Guide dokumentiert die ordnungsgemäße Verwendung.
| Element | Beispiel |
|---|---|
| Kopfzeile |
html |
| Fußzeile |
html |
| Tabs |
html |
| Formular |
html |
| Menü |
html
|
Beispiel
HTML
<header class="panel-section panel-section-header">
<div class="icon-section-header"><!-- An image goes here. --></div>
<div class="text-section-header">Header</div>
</header>
<div class="panel-section panel-section-list">
<div class="panel-list-item">
<div class="icon"></div>
<div class="text">List Item</div>
<div class="text-shortcut">Ctrl-L</div>
</div>
<div class="panel-list-item">
<div class="icon"></div>
<div class="text">List Item</div>
<div class="text-shortcut"></div>
</div>
<div class="panel-section-separator"></div>
<div class="panel-list-item disabled">
<div class="icon"></div>
<div class="text">Disabled List Item</div>
<div class="text-shortcut"></div>
</div>
<div class="panel-section-separator"></div>
<div class="panel-list-item">
<div class="icon"></div>
<div class="text">List Item</div>
<div class="text-shortcut"></div>
</div>
<div class="panel-list-item">
<div class="icon"></div>
<div class="text">List Item</div>
<div class="text-shortcut"></div>
</div>
</div>
<footer class="panel-section panel-section-footer">
<button class="panel-section-footer-button">Cancel</button>
<div class="panel-section-footer-separator"></div>
<button class="panel-section-footer-button default">Confirm</button>
</footer>
Ergebnis
Browser-Kompatibilität
>webextensions.manifest.action
Loading…
webextensions.manifest.browser_action
Loading…
webextensions.manifest.page_action
Loading…
webextensions.manifest.sidebar_action
Loading…
webextensions.manifest.options_ui
Loading…