Gibt es eine Entsprechung für Chrome "setBadgeText" in Firefox Add-on SDK?

8

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.

    
Khurram Waris 08.08.2012, 16:53
quelle

4 Antworten

7

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:

  1. Installieren Sie das Add-on-SDK ( Anweisungen von Mozilla ).
  2. Aktivieren Sie das SDK (indem Sie addon-sdk ausführen) und erstellen Sie die Vorlagendateien ( cfx init ).
  3. Laden Sie meine Jetpack-Bibliothek herunter ( Anweisungen ).
  4. Bearbeiten Sie das 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.

Beispiel

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

%Vor%

data/popup.html

%Vor%

Hier ist ein kurzer Screencast des Ergebnisses (Hinweis: Tooltip-Farbe ist etwas aus; mit Byzanz aufgenommen ):

    
Rob W 28.05.2013 08:50
quelle
6

In firefox 36 können Sie Buttons (Text) zu den Buttons Ihres Addons hinzufügen.

%Vor%

Ссылка

    
bobbyrne01 13.02.2015 12:17
quelle
3

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:

%Vor%

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:

%Vor%

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:

%Vor%

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.

    
Wladimir Palant 07.12.2012 13:06
quelle
0

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.

    
Danijel 15.05.2015 01:49
quelle

Tags und Links