Button ändern bei einem Skript

  • Firefox-Version
    116.03
    Betriebssystem
    Win 11pro

    Ich verwende folgendes Skript (von aborix?), das für den Button einen Base64 Code enthält:

    Kann man das ändern und statt dessen auf eine Datei zugreifen? Würde mir jemand von den Skript-Könnern die dafür notwendigen Zeilen einbauen?

    Vielen Dank.

    MfG
    Geldhügel

  • Ich mach mir die Welt, wie sie mir gefällt. [Pippi Langstrumpf/Astrid Lindgren]

  • die dafür notwendigen Zeilen einbauen?

    Weitere Möglichkeit:

    In Zeile 20 den genauen Pfad angeben.


    In meinem Beispiel sieht das dann so aus:


    Und hier dein Icon als .png zum Download:

    Mit freundlichem Gruß
    Andreas
    Mein Laptop    Meine Add-ons

    2 Mal editiert, zuletzt von 2002Andreas (23. August 2023 um 22:03) aus folgendem Grund: Ein Beitrag von 2002Andreas mit diesem Beitrag zusammengefügt.

  • Und eine weitere hätt' ich auch noch beizutragen. :D

    geldhuegel

    geldhuegel

    Du hast die Wahl, welchen Weg Du nach Rom nimmst.

    Mit <3lichem Gruß

    Mira

  • Noch ein Weg nach Rom, eine Variante von Andreas' Weg. Kurze Pfadangabe in Zeile 20:

    Die kurze Pfadangabe funktioniert aber nicht immer. Sowohl die Version von Andreas als auch die auf seiner Version basierende Version von mir setzen voraus, dass das Skript im Ordner chrome (also wie immer) ist und es darin einen Unterordner icons gibt, der die Grafik enthält.

    Ü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 (23. August 2023 um 22:30)

  • Ach, Mensch, habe ich es doch wieder geahnt. :(

    Ü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

  • Heissa Juchei! Ich danke euch Allen. Ich werde mal studieren um daraus zu lernen.

    Ich habe vorhin schon mal probiert. Zeile 20 entfernt und dort aus dem Mira_Belle Skript bzgl. zweites Profil den entsprechenden Part eingefügt. Das hat aber nicht funktioniert. Ihr Beispiel zeigt, dass ich es am Ende hätte hinzufügen müssen.

    Dass man statt des Base64 dort auch einfach den Pfad zu einer Datei angeben kann hätte ich gar nicht gedacht.

    Und jetzt macht den PC aus und widmet euch euren Partnern oder anderen schönen Sachen.

    milupo Was hast du geahnt?

    MfG
    Geldhügel

  • Was hast du geahnt?

    Dass der relative Pfad nicht funktioniert. Denn so ist es bei mir.

    Ü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

  • geldhuegel

    Wenn ich ehrlich bin und Du eine ganz normale Grafik verwenden willst,

    also ein png oder jpg, dann würde ich Dir das Skript von 2002Andreas ans <3 legen.

    Einfach und überschaubar.

    Möchtest Du aber eine Vektorgrafik verwenden, na dann .... ;)

    Da kannst Du die Größe und die Farbe bestimmen.

    Wenn Du ein Skript angepasst haben möchtest, weil z.B. etwas nicht so recht klappt,

    dann frag einfach, wir alle helfen Dir ja gerne.

    Mit <3lichem Gruß

    Mira

  • Hä?

    Nur für meine Gedanken!

    Einem JavaScript ist es erst einmal völlig egal, wo es abgespeichert ist.

    Wichtigste Voraussetzung ist, damit es funktioniert, es muss richtig eingebunden sein!

    Dafür haben "wir" ja die userChrome.js.

    Damit aber auch Symbole, bzw, Grafiken genutzt werden können, muss immer genaue der Pfad angegeben werden!

    Das kann auf verschiedenen Wegen geschehen.

    Man kann ganz "klasisch" den genauen Pfad angeben, z.B. so => list-style-image: url(file:///C:/Users/Andi/Icons%20Firefox/4.jpg)

    Oder man verwendet Variablen im Skript und in den Pfadangaben.

    z.B. let ProfilePath = Services.dirsvc.get("ProfD", Ci.nsIFile).path.replace(/\\/g, "/");

    wobei let ProfilePath die Variable ProfilePath für das Skript definiert und

    Services.dirsvc.get("ProfD", Ci.nsIFile).path.replace(/\\/g, "/" dann den Pfad zum Profilordner "berechnet".

    Daraus würde sich dann style: 'list-style-image: url("' + ("file:" + ProfilePath + "4.jpg") +'");' ergeben.

    Gleiches gilt für let ProfilePath = PathUtils.toFileURI(PathUtils.join(PathUtils.profileDir ));.

    PathUtils.toFileURI(PathUtils.join(PathUtils.profileDir "berechnet" den Pfad zum Profilordner.

    style: "list-style-image: url('" + PathUtils.toFileURI(PathUtils.join(PathUtils.profileDir)) + "4.jpg" + "');",

    Weiterhin gibt es noch die Möglichkeit per CSS im Skript, s.o., das ganze zu kombinieren.

    Und es gibt dann noch weitere Möglichkeiten, z.B. wenn der Ordner in dem die Grafiken sich befinden,

    eben mithilfe einer anderen "Windows-Variable" erreichbar wäre,

    aber das spreng jetzt hier den Rahmen.

    Am besten ist es, finde ich jedenfalls, der Ordner befindet sich im Profil und da unterhalb des Ordners chrome.

    Mit <3lichem Gruß

    Mira

  • Leider habe ich heute kaum Zeit für das Thema. Vorab jedoch folgendes:

    Das Skript von Mitleser funktioniert bestens. Jedoch möchte ich den Button in 62x32 px und nicht Standard.

    Mira_Belle funktioniert auch. Nach Änderung der Größenangaben habe ich den Button wie gewünscht.

    2002Andreas habe ich seinen Pfad durch meinen ersetzt. Das ergibt jedoch nur einen Platzhalter, kein Bild.

    Aber nun muss ich mich um andere Dinge kümmern. Nochmals vielen Dank für das großartige Echo auf meine Anfrage.

    MfG
    Geldhügel

  • Sollte ich dich falsch verstanden haben, dann sorry.

    Wenn der genaue Pfad angegeben wird, dann ist es egal in welchem Ordner das Skript liegt.

    Das schon, aber wir haben doch hier eine Konvention, dass wir empfehlen, für die Grafiken einen Unterordner icons im Ordner chrome des Profils zu nutzen. Das meinte ich. Jeder kann natürlich seine Grafiken sonst wohin schieben. Ich denke, es sollte eine Konvention geben.

    Ü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

  • Was denn nun A oder B?

    A.

    wir haben doch hier eine Konvention, dass wir empfehlen, für die Grafiken einen Unterordner icons im Ordner chrome des Profils zu nutzen

    (Link wäre hilfreich)

    oder

    B.

    Ich denke, es sollte eine Konvention geben

    Warum meinst du das? Eine Begründung wäre schön.

    Ich mach mir die Welt, wie sie mir gefällt. [Pippi Langstrumpf/Astrid Lindgren]

  • Warum meinst du das? Eine Begründung wäre schön.

    Um Anfänger nicht zu verwirren. Auch Anfänger nutzen Skripte. Ich bin immer für eine einheitliche Linie. Und für eine vollständige Pfadangabe mag das unerheblich sein, aber für eine relative Pfadangabe, wie ich sie angeboten habe sollte man darauf schon achten. Was jeder privat macht ist seine Sache, aber als Helfer sollten wir schon eine Orientierung geben. Anpassen kann dann auch noch jeder selbst.

    Ü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

  • wir haben doch hier eine Konvention, dass wir empfehlen, für die Grafiken einen Unterordner icons im Ordner chrome des Profils zu nutzen

    (Link wäre hilfreich)

    Ich denke, es sollte eine Konvention geben

    Warum meinst du das? Eine Begründung wäre schön.

    Es ist eher eine Art Gewohnheit, irgendwo müssen die Icons ja hin, und das wird halt öfters benutzt.

    Kann jeder machen wie er will; wer sich mit Scripts rumplagt, schafft es vermutlich auch noch einen Ordnernamen oder Dateipfad anzupassen. ;)

  • Ich denke, es sollte eine Konvention geben.

    Genau das hatte ich mir auch schon überlegt :thumbup:. Das Base64-Format hat ja nur wirklich den einzigen Vorteil, dass das Skript dann sofort "Ready-To-Use" ist, aber ist eben auch mit etlichen Nachteilen behaftet: Performance, Unübersichtlichkeit, etc. .

    Das Ermitteln des aktuellen Profilpfades und die Angabe eines Standard-Verzeichnisses für Icons/Images im 'chrome'-Pfad wären sicher die beste Lösung (z.B. 'icons' oder 'images'), so wie Mira_Belle es in #11 beschrieben hat. Man könnte dann dieses Standard-Verzeichnis auch schon in die Zip-Datei für das Einrichten der User-Skripte mitaufnehmen. Also ein Bilder-Verzeichnis, auf dessen Vorhandensein man sich verlassen kann. Ergänzend könnte man in dem Verzeichnis für die Bilder auch schon ein Universal-Standard-Icon mit dazu packen (keine Weltkugel!!!! ;)), damit wenigstens etwas angezeigt wird....

    So als Idee... :/

    .

    Einmal editiert, zuletzt von BrokenHeart (24. August 2023 um 20:12)

  • für die Grafiken einen Unterordner icons im Ordner chrome des Profils zu nutzen

    Kann man doch auch machen.

    Dann eben der genaue Pfad zum Ordner Icons im Ordner chrome.

    Code
    file:///C:/Users/Andi/AppData/Roaming/Mozilla/Firefox/Profiles/x9uzmnty.Test ohne/chrome/Icons/Hilfe8.png

    Und das Skript ist dabei im Ordner Skripte