Ein Icon ins base64 Format umwandeln

  • Da nun der andere Thread geschlossen wurde, erlaube ich mir, hier eine Supportanfrage zu stellen: Falls nicht gewünscht, bitte auslagern! :)

    Hätte jemand ein Icon im base64 Format oder auch anders eingebunden? Zum Beispiel den Schraubenschlüssel aus dem Anpassen-Fenster für die Browsertoolbox?

  • im base64 Format

    Teste bitte:

    Code
    url(data:image/svg+xml;base64,PCEtLSBUaGlzIFNvdXJjZSBDb2RlIEZvcm0gaXMgc3ViamVjdCB0byB0aGUgdGVybXMgb2YgdGhlIE1vemlsbGEgUHVibGljDQogICAtIExpY2Vuc2UsIHYuIDIuMC4gSWYgYSBjb3B5IG9mIHRoZSBNUEwgd2FzIG5vdCBkaXN0cmlidXRlZCB3aXRoIHRoaXMNCiAgIC0gZmlsZSwgWW91IGNhbiBvYnRhaW4gb25lIGF0IGh0dHA6Ly9tb3ppbGxhLm9yZy9NUEwvMi4wLy4gLS0+DQo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiB2aWV3Qm94PSIwIDAgMTYgMTYiPg0KICA8cGF0aCBmaWxsPSJjb250ZXh0LWZpbGwgbGlnaHQtZGFyayhibGFjaywgd2hpdGUpIiBmaWxsLW9wYWNpdHk9ImNvbnRleHQtZmlsbC1vcGFjaXR5IiBkPSJNMTQuNTU1IDMuMmwtMi40MzQgMi40MzZhMS4yNDMgMS4yNDMgMCAxIDEtMS43NTctMS43NTdMMTIuOCAxLjQ0NUEzLjk1NiAzLjk1NiAwIDAgMCAxMSAxYTMuOTc2IDMuOTc2IDAgMCAwLTMuNDM0IDYuMDJsLTYuMjczIDYuMjczYTEgMSAwIDEgMCAxLjQxNCAxLjQxNEw4Ljk4IDguNDM0QTMuOTYgMy45NiAwIDAgMCAxMSA5YTQgNCAwIDAgMCA0LTQgMy45NTYgMy45NTYgMCAwIDAtLjQ0NS0xLjh6Ii8+DQo8L3N2Zz4=)
  • Bei mir eben aber nicht

    Ich wollte den Code mal in ein Symbol umwandeln lassen, statt dessen öffnet sich eine Suchseite von Google. Liegt vielleicht am Mime-Typ svg+xml.

    Übersetzer für Obersorbisch und Niedersorbisch auf pontoon.mozilla.org u.a. für Firefox, Firefox für Android, Firefox für iOS, Firefox Klar/Focus für iOS und Android, Thunderbird, Pootle, Django, LibreOffice, LibreOffice Onlinehilfe, WordPress

  • Liegt vielleicht am Mime-Typ svg+xml.

    Du darfst das nur so in die Urlbar eintragen:

    Code
    data:image/svg+xml;base64,PCEtLSBUaGlzIFNvdXJjZSBDb2RlIEZvcm0gaXMgc3ViamVjdCB0byB0aGUgdGVybXMgb2YgdGhlIE1vemlsbGEgUHVibGljDQogICAtIExpY2Vuc2UsIHYuIDIuMC4gSWYgYSBjb3B5IG9mIHRoZSBNUEwgd2FzIG5vdCBkaXN0cmlidXRlZCB3aXRoIHRoaXMNCiAgIC0gZmlsZSwgWW91IGNhbiBvYnRhaW4gb25lIGF0IGh0dHA6Ly9tb3ppbGxhLm9yZy9NUEwvMi4wLy4gLS0+DQo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiB2aWV3Qm94PSIwIDAgMTYgMTYiPg0KICA8cGF0aCBmaWxsPSJjb250ZXh0LWZpbGwgbGlnaHQtZGFyayhibGFjaywgd2hpdGUpIiBmaWxsLW9wYWNpdHk9ImNvbnRleHQtZmlsbC1vcGFjaXR5IiBkPSJNMTQuNTU1IDMuMmwtMi40MzQgMi40MzZhMS4yNDMgMS4yNDMgMCAxIDEtMS43NTctMS43NTdMMTIuOCAxLjQ0NUEzLjk1NiAzLjk1NiAwIDAgMCAxMSAxYTMuOTc2IDMuOTc2IDAgMCAwLTMuNDM0IDYuMDJsLTYuMjczIDYuMjczYTEgMSAwIDEgMCAxLjQxNCAxLjQxNEw4Ljk4IDguNDM0QTMuOTYgMy45NiAwIDAgMCAxMSA5YTQgNCAwIDAgMCA0LTQgMy45NTYgMy45NTYgMCAwIDAtLjQ0NS0xLjh6Ii8+DQo8L3N2Zz4=
  • Du darfst das nur so in die Urlbar eintragen:

    Ach ja, ich wusste, dass ich etwas falsch mache. Habe das auch lange nicht mehr gemacht.

    Danke.


    Ich habe hier ein Werkzeugkasten-Symbol:

    Heißt bei mir werkzeugkasten.png.

    Übersetzer für Obersorbisch und Niedersorbisch auf pontoon.mozilla.org u.a. für Firefox, Firefox für Android, Firefox für iOS, Firefox Klar/Focus für iOS und Android, Thunderbird, Pootle, Django, LibreOffice, LibreOffice Onlinehilfe, WordPress

    Einmal editiert, zuletzt von milupo (25. Januar 2025 um 20:13) aus folgendem Grund: Ein Beitrag von milupo mit diesem Beitrag zusammengefügt.

  • Beitrag von Mitleser (25. Januar 2025 um 21:44)

    Dieser Beitrag wurde vom Autor gelöscht (25. Januar 2025 um 21:45).
  • Hätte jemand ein Icon im base64 Format oder auch anders eingebunden? Zum Beispiel den Schraubenschlüssel aus dem Anpassen-Fenster für die Browsertoolbox?

    In diesem Fall (mit diesem Script) könntest du mal das hier in der userChrome.css probieren:

    CSS
    #browser-konsole-button {
        list-style-image: url("chrome://global/skin/icons/developer.svg") !important; 
    }

    Das base64 Zeug würde ich selber vermeiden, für permanent sichtbare Buttons wg. eventueller Leistungseinbußen (?), und weil sie alle wie Gülle aussehen. ;)

  • und weil sie alle wie Gülle aussehen. ;)

    Das ergibt keinen Sinn. Von der Darstellung her kann es keinen Unterschied gegenüber der Einbindung als Bild-Datei geben. Wenn die Grafik „wie Gülle“ aussieht, liegt es an der Grafik.

    Man sollte data:-URIs aber dennoch vermeiden, weil diese eine hohe CPU-Last verursachen und deutlich schlechter für die Performance sind.

  • Man sollte data:-URIs aber dennoch vermeiden, weil diese eine hohe CPU-Last verursachen und deutlich schlechter für die Performance sind.

    Die Symbole sind aber dadurch unabhängig vom Pfad. Für die Beispielskripte bei Endor auf Github hätten dann alle beim Speichern der Skripte das entsprechende Symbol. Es bleibt dann natürlich noch jedem unbenommen, daraus einen lokalen Pfad zu machen.

    Übersetzer für Obersorbisch und Niedersorbisch auf pontoon.mozilla.org u.a. für Firefox, Firefox für Android, Firefox für iOS, Firefox Klar/Focus für iOS und Android, Thunderbird, Pootle, Django, LibreOffice, LibreOffice Onlinehilfe, WordPress

  • Dieser einzige Vorteil von data:-URIs ist mir bekannt. Allerdings ist das in meinen Augen ein schwaches Argument, wenn der Preis dafür eine erhöhte CPU-Last ist. Das wiegt für mich deutlich schwerer als etwas Bequemlichkeit. Außerdem sind data:-URIs auch aus einer Sicherheitsperspektive die schlechtere Wahl und könnten jederzeit via CSP verboten werden. Aktuell schränkt Mozilla ja sehr aktiv mittels CSP ein, was Scripts dürfen und was nicht, ist also auch wieder eine potenzielle Baustelle in der Zukunft, die ma einfach von Anfang an vermeiden könnte. Daher habe ich vor Jahren schon darauf hingewiesen:

    Vermeidung von data:-URIs

    Hintergrundgrafiken können als Grafik auf dem Dateisystem oder als base64-kodierte data:-URI angegeben werden. Letzteres hat natürlich den Vorteil, keine weiteren Dateien zu benötigen, man kann alles mit dem CSS mitgeben. Auf den about:-Seiten von Firefox funktioniert dies in Zukunft aber nicht mehr, da data:-URIs XSS-Sicherheitslücken begünstigen. Und ganz unabhängig davon sind diese um ein vielfaches langsamer und erzeugen mehr CPU-Last, als wenn Grafiken auf dem konventionellen Weg eingebunden werden. Daher ist der Weg, Grafiken zu verwenden, definitiv der bessere Weg.

  • Allerdings ist das in meinen Augen ein schwaches Argument, wenn der Preis dafür eine erhöhte CPU-Last ist. Das wiegt für mich deutlich schwerer als etwas Bequemlichkeit.

    Was den ersten Satz angeht, bin ich durchaus deiner Meinung. Es ging mir aber nicht um Bequemlichkeit, sondern um es für alle Nutzer zu vereinfachen, dass Skript sofort verwenden zu können und bei der Diskussion über ein Skript eine für alle sofort verfügbar Schaltfläche zu haben. Aber nun ja, war nur so ein Gedanke.

    Übersetzer für Obersorbisch und Niedersorbisch auf pontoon.mozilla.org u.a. für Firefox, Firefox für Android, Firefox für iOS, Firefox Klar/Focus für iOS und Android, Thunderbird, Pootle, Django, LibreOffice, LibreOffice Onlinehilfe, WordPress

  • Allerdings ist das in meinen Augen ein schwaches Argument, wenn der Preis dafür eine erhöhte CPU-Last ist. Das wiegt für mich deutlich schwerer als etwas Bequemlichkeit.

    Was den ersten Satz angeht, bin ich durchaus deiner Meinung. Es ging mir aber nicht um Bequemlichkeit, sondern um es für alle Nutzer zu vereinfachen, dass Skript sofort verwenden zu können und bei der Diskussion über ein Skript eine für alle sofort verfügbar Schaltfläche zu haben. Aber nun ja, war nur so ein Gedanke.

    Das ist ein guter Punkt, wobei man auch svg Grafiken in ein Script einbinden kann, ist ja auch nur Code.
    Ob sich das auch negativ auf die Performance auswirkt kann ich allerdings nicht sagen.:/

    Nachtrag: svg braucht wohl auch data URIs zur Einbindung ...

    Einmal editiert, zuletzt von Horstmann (26. Januar 2025 um 22:20)

  • Bei mir eben aber nicht:/

    Ok, dann öffne ich meinen Beitrag wieder.

    Hm, 2002Andreas , neuer Tag, neue Nightly-Version und jetzt klappt das o.a. Script nicht mehr.

    Wenn ich den von Haus aus mitgelieferten, Button mit dem identischen Icon aus dem Anpassen-Fenster auf meine Addon-Bar ziehe, dort dann aus dem Menü die Browser-Konsole aufrufe, diese dann wieder schließe und nun auf das Icon, das durch das Script erzeugt wird, klicke, öffnet sich auch dann die Konsole. Also irgendwas passt doch nicht.
    Horstmann Wenn ich im Script die Anzeige des Icon auskommentiere und deinen Code in die userChromeCSS eintrage, habe ich das Icon verfügbar. Allerdings klappt ja das Script in dieser Version nicht.

  • klappt ja das Script in dieser Version nicht.

    Es gibt doch schon ein angepasstes dafür:

    So wäre das mit deinem base64 Icon:

    deinen Code in die userChromeCSS eintrage

    Geht doch auch gleich im Skript:

  • Ich meine schon die Browserkonsole.

    Übrigens sind 33 meiner Scripts mit Fehler-Einträgen dort bedacht. Diese habe ich mal alle deaktiviert, außer denen, die abgebildet sind. Viele von denen haben ähnliche Eintragungen wie gBrowser ist not defined mit einem Verweis auf die Datei utilities.js im userChromeJS Ordner des Installationsordners von Nightly. Darunter sind auch einige, die jetzt gerade neu umgeschrieben wurden.