scrollbars.uc.js anpassen - geschafft und erledigt!

  • Das mit den var, const und let irritiert mich und ich verstehen tu ich es auch nicht!

    Mein Englich ist da dann doch leider nicht besonders,

    oder doch? Besonders schlecht!

    Selbst die Übersetzung mittels Firefox Translations bring nur Gestammel zustande.

    Zumindest habe ich kapiert, dass var Fehler verursachen kann,

    also so grundsätzlich, nicht aber hier bei nur einem Script.

    Aber ich vermute, dass let die bessere, bzw, richtigere Deklaration gewesen ist/wäre.

    Punkt ist korrigiert.

    Danke.

    Mit <3lichem Gruß

    Mira

  • Selbst die Übersetzung mittels Firefox Translations bring nur Gestammel zustande.

    Ich habe es nicht mit Firefox Translations getestet, aber ich glaube, dass technische Themen nicht gerade als Stärke von Firefox Translations gelten. Das ist für einen Übersetzer generell schwieriger als im Alltag gesprochene Sprache und war im Training von Firefox Translations (Sprachmodelle werden tatsächlich trainiert, es handelt sich dabei ja um eine künstliche Intelligenz) bisher auch kein Fokus. Insofern wundert es mich nicht, wenn das nur noch mehr Verwirrung verursacht. :D

    Eine vereinfachte Erklärung, ohne ins Detail zu gehen: Es gibt zwischen var auf der einen und let/const auf der anderen Seite Unterschiede, wo die Variablen gültig sind. Die Verwendung von var ist nicht per se falsch und konkret in deinem Script macht es auch keinen Unterschied im Verhalten, aber das Verhalten von var begünstigt quasi naturbedingt Fehler, wenn man nicht aufpasst.

    Wieso gibt es das dann? Nunja, var war bereits Bestandteil der ersten Version von JavaScript im Jahr 1995, als Mozilla-Gründer Brendan Eich JavaScript erfunden hat - in nur zehn Tagen! Dementsprechend auch mit ein paar konzeptionellen Schwächen. Es war damals natürlich auch noch nicht einmal ansatzweise zu vermuten, welche Bedeutung JavaScript einmal haben wird und was daraus für Anwendungsfälle entstehen. Und wenn ein Webstandard erst einmal verbreitet ist, ist der Zug für Veränderungen abgefahren, das ist bei HTTP, HTML und CSS ja auch so. Fehler wie der berühmte referer-Rechtschreibfehler im HTTP-Header oder konzeptionelle Schwächen wie das var in JavaScript müssen für immer mitgeschleppt werden, wenn nicht das halbe Web kaputt gehen soll. JavaScript hält historisch bedingt deswegen auch heute noch so manche Kuriosität bereit, die es so niemals geben würde, würde die Sprache heute neu erdacht werden. Was die Deklaration von Variablen betriffft, gab es einfach lange Zeit nicht anderes, let und const wurden erst 20 Jahre später mit ECMAScript 6 als Alternative eingeführt.

    Wenn man noch auf alte Browser Rücksicht nehmen muss, kann var nicht vollständig eliminiert werden. Der Internet Explorer 11 beispielsweise hat noch eine fehlerhafte Implementierung von let. Aber in Code, der nur von Firefox verstanden werden muss, kann man natürlich von allem Gebrauch machen, was Firefox unterstützt. Insofern kann man hier var komplett ignorieren und vollständig auf let und const setzen.

  • Huch =O

    Was geht denn hier ab?

    Wieder mal Weiterbildung a la Sören Hentzschel . :D

    :thumbup: :thumbup: Danke dafür, auch wenn ichs zum Verstehen ersma bookmarken muß.

    Mira_Belle:

    (Wo) Gibts einen aktuellen Code?

    Ich glaube nämlich (mal wieder), einen Weg ohne absolute Pfade gefunden zu haben und würde den mit Deinem Code gerne mal testen und dann beisteuern...

    W11 Home 64bit - FF120.x

    Einmal editiert, zuletzt von harff182 (19. August 2022 um 19:24)

  • Mira_Belle:

    (Wo) Gibts einen aktuellen Code?

    Ich glaube nämlich (mal wieder), einen Weg ohne absolute Pfade gefunden zu haben und würde den mit Deinem Code gerne mal testen und dann beisteuern...

    Na dann lass sehen!

    Hier das derzeitige JavaScript.


    ...

    Es ist wohl so, wie ich es mir gedacht habe,

    nur der historische Hintergrund war/ist mir unbekannt.

    Danke für die Erklärung.

    Mit <3lichem Gruß

    Mira

    Einmal editiert, zuletzt von Mira_Belle (19. August 2022 um 23:02) aus folgendem Grund: Ein Beitrag von Mira_Belle mit diesem Beitrag zusammengefügt.

  • Na dann lass sehen!

    Tja, war wieder 'n Satz mit X ;( , weil ich mit Deinem Neuen Code nicht zurechtkomme und isn bischen spät für mich heute/jetzt noch was zu testen...

    Das ist mein Versuch mit Deinem aktuellen Code, wo es nicht funzt:

    Mit Deinem älteren Code klappt es:

    Schade... aber jezz bin ich || und muß :sleeping:

    bis mogghän...

    W11 Home 64bit - FF120.x

  • Wow, echt klasse :!:

    Es geht doch.

    Habe const scrollerProfileDirectory = Services.dirsvc.get("ProfD", Ci.nsIFile).path.replace(/\\/g, "/");

    hinzugefügt!

    Denn ich muss ja die Variable definieren.

    Und dann einfach

    Siehst Du den Fehler? Blöde Frage, bist ja nicht blind.

    CSS
            mask-image: url("file:" + ${scrollerProfileDirectory} + "/chrome/icons/Chevron-left,_12.svg") !important;

    Echt klasse! :thumbup:  Danke dafür.

    Mit <3lichem Gruß

    Mira

    2 Mal editiert, zuletzt von Mira_Belle (20. August 2022 um 01:24)

  • Verstehe ich das richtig?

    Hätte ich das usercssloader.uc.js Monster gehabt,

    hätte ich ein ganz normales CSS schreiben können?

    Genau das war die Intention hinter meiner Frage …

    Aber Deine Version die Du gemacht hast ist definitiv die bessere
    Variante, da sie unabhängig von anderen Scripten funktioniert.

    Allerdings muss man dann erneut viel Arbeit hineinstecken, wenn eine neue Version des Orignalskripts erscheinen sollte. Das würde man mit dem UserCSSLoader umgehen.

    Wobei ein Diff-Programm schon sehr hilfreich ist, den Aufwand in Grenzen zu halten. Wie ich eben an anderer Stelle bemerkt habe, hat Mira Belle anscheinend bei mir über die Schulter gesehen ( ;) ) und setzt wie ich Winmerge ein.

    Die Funktionsweise sogenannter Template Literals ist wie folgt:

    :thumbup: :thumbup: :thumbup:

    Ich will mich ja nicht selber loben, Eigenlob stinkt, aber trotzdem: Am 12. August 2022 hatte ich auch schon mal darauf hingewiesen, nur nicht so hllfreich wie Du.


  • Aber Deine Version die Du gemacht hast ist definitiv die bessere
    Variante, da sie unabhängig von anderen Scripten funktioniert.

    Allerdings muss man dann erneut viel Arbeit hineinstecken, wenn eine neue Version des Orignalskripts erscheinen sollte. Das würde man mit dem UserCSSLoader umgehen.

    :/

    Meinst Du?

    Das user_scrollbar.uc.js, so habe ich es nun genannt, wegen der doch nicht wenigen Veränderungen,

    ist doch recht einfach gestrickt, denke ich jetzt wo ich so einigermaßen verstehe wie es funktioniert.

    Wobei ein Diff-Programm schon sehr hilfreich ist, den Aufwand in Grenzen zu halten. Wie ich eben an anderer Stelle bemerkt habe, hat Mira Belle anscheinend bei mir über die Schulter gesehen ( ;) ) und setzt wie ich Winmerge ein.

    Uhh, Winmerge kannte ich schon, .... 2015 oder so, da nutzte ich noch Win 98 SE, oder vielleicht doch schon Win XP :/

    Oder doch noch 'ne Schreibmaschine?

    Auf jeden Fall schon ewig, es ist halt einfach ein klasse Tool, z.B. auch um Verzeichnisse abzugleichen.

    Mit <3lichem Gruß

    Mira

  • Siehst Du den Fehler? Blöde Frage, bist ja nicht blind.

    8o

    Echt klasse! :thumbup:  Danke dafür.

    Das "Verfahren" hab ich vor 3 Jahren bei jemandem im TB-Forum abgeguckt und nutze es seitdem.

    Durch diesen Thread hier hab ich gut dazugelernt.

    War mal wieder ne nette "Lehrstunde" hier im Thread.

    Ich werde nach und nach meine Scripte mal checken, wo ich jetzt was verbessern kann.

    Schönes/trockenes/unwetterfreies Wochenende für alle Beteiligten...

    W11 Home 64bit - FF120.x

  • Hallo allen..

    ich wollte grad das Javascript von Mira_Belle im Beitrag:

    testen. Hat jemand evtl. die Icons: Chevron-up,_12.svg, Chevron-down,_12.svg, Chevron-right,_12.svg und Chevron-left,_12.svg in der Hand❓ Würde mich sehr freuen, wenn jemand sie hier zum Download bereitstellen könnte. Besten Dank im Voraus.

    "Klug sein hat noch nie einen Menschen an Dummheiten gehindert." Stefan Zweig
    Firefox-Version: 124.0
    Edition: Windows 11 Home (64-Bit-Betriebssystem)
    Version: 23H2

  • hier zum Download bereitstellen könnte.

    Sind im Beitrag Nr. 1

    Mira_Belle
    13. August 2022 um 15:13
  • Es gibt was Neues!

    Habe die Variable

    let scrollerProfileDirectory = PathUtils.toFileURI(PathUtils.join(PathUtils.profileDir, 'chrome', 'icons'));

    geändert und auch gleich in den entsprechenden Ordner "verlinkt".

    Somit müssen auch Anpassungen am CSS-Code vorgenommen werden.

    Z.B. aus background-image: url("file:${scrollerProfileDirectory}/chrome/icons/resizer.svg") !important;

    wird background-image: url("${scrollerProfileDirectory}/resizer.svg") !important;

    Mit <3lichem Gruß

    Mira

    3 Mal editiert, zuletzt von Mira_Belle (6. Januar 2023 um 06:27)