Die Chrome-Methode chrome.browserAction.setBadgeText
überlagert Text über dem Symbol für Erweiterungen. Dies ist praktisch, wenn Sie beispielsweise insgesamt ungelesene Mails anzeigen möchten.
Gibt es eine äquivalente Methode bei der Entwicklung einer Firefox Addon SDK Erweiterung oder Was ist der beste Weg, um das Icon zur Laufzeit zu ändern?
Seit der Version 1.11 des SDK kann ich keine ähnliche Methode in der Firefox Add-on SDK API finden.
Hinweis : Diese Antwort funktioniert in Firefox 38+ aufgrund des Entfernens des Widget-Moduls nicht mehr. Verwenden Sie stattdessen eine der Schaltflächen des ui-Moduls .
> Ich habe die chrome.browserAction
API nach Firefox portiert und als Jetpack-Modul veröffentlicht, siehe Ссылка
Wenn Sie mit der chrome.browserAction
API vertraut sind, kann die Verwendung dieses Moduls nicht einfacher sein. Auch wenn Sie noch nie ein Firefox-Add-On erstellt haben, können Sie innerhalb weniger Minuten loslegen:
addon-sdk
ausführen) und erstellen Sie die Vorlagendateien ( cfx init
). package.json
Ihres Add-ons und fügen Sie "browser-action"
als Abhängigkeit hinzu. An diesem Punkt haben Sie alle Voraussetzungen eingerichtet. Was bleibt, ist die Erstellung der Browseraktion.
Dieses Add-on fügt eine Browseraktion in der Nähe der Adressleiste hinzu, die beim Klicken ein Popup anzeigt. Wenn Sie etwas in das Eingabefeld in diesem Popup eingeben, ändert sich der Titel der Registerkarte in den Wert des Feldes.
lib/main.js
data/popup.html
Hier ist ein kurzer Screencast des Ergebnisses (Hinweis: Tooltip-Farbe ist etwas aus; mit Byzanz aufgenommen ):
In firefox 36
können Sie Buttons (Text) zu den Buttons Ihres Addons hinzufügen.
Nein, im Add-on-SDK gibt es keine direkte Entsprechung. Allerdings das widget
Modul Sie verwenden wahrscheinlich jeden HTML-Inhalt und nicht nur ein Symbol. Und Sie können diesen HTML-Inhalt, z. um bei Bedarf etwas Text anzuzeigen. Ich habe es mit folgendem lib/main.js
versucht:
Er verwendet icon.html
file, um das Symbol anzuzeigen, und sendet eine Nachricht setBadgeText
an das angehängte Inhaltsskript, wenn sich der Text über dem Symbol ändern muss. Hier ist die data/icon.html
Datei, die ich getestet habe:
Ich habe nicht zu viel Mühe investiert, damit der Text wie der Badge-Text von Chrome aussieht. Sie können das Styling wahrscheinlich verbessern. Der Text ist standardmäßig ausgeblendet (ich habe das HTML5 hidden
-Attribut zur Vereinfachung verwendet). . Und das Skript data/icon.js
content ist auch nicht zu kompliziert:
Er empfängt die Nachricht setBadgeText
und setzt den Text im HTML-Dokument entsprechend. Es wird auch das Element badgeText
ausblenden, wenn es null
als Ausweistext erhält.
Es ist nicht in MDN dokumentiert, aber Aktion und Umschalttaste akzeptiert auch icon property als base64-kodiertes Bild. Wenn Sie diese Tatsache kennen, können Sie beispielsweise page-workers erstellen und das html canvas-Element verwenden, um QuickInfos über ein Bildsymbol zu zeichnen und das mit canvas.toDataURL()
method zurückgeben.
Tags und Links firefox-addon-sdk