Farbige Scrollbalken - Gibt es eine Erweiterung dafür?

  • Hallo,

    ich weiß, dass das Thema schon mal besprochen wurde. Aber inzwischen ist wieder ein wenig Zeit vergangen.

    Bekanntlich beherrschen der IE und Opera die Darstellung von farbigen Scrollbalken. Der FF kann das IMO bislang nicht. Gibt es inzwischen eine Erweiterung dafür? Oder ist das generell nicht machbar mit dem FF?

  • Es gibt keine Erweiterung und es wird auch nicht machbar, da Scrollbalken dem Browser gehören und damit die Seite kein Bestimmungsrecht darüber hat.

    Die Scrollbalken können nur durch Themes verändert werden.

  • Hi,

    die Farbe des Scrollbalkens kann mit Hilfe von CSS verändert werden. (FF ist, was CSS betrifft, ganz vorn mit dabei. Weit abgeschlagen ist dagegen der IE in dieser Hinsicht.)

    Es mag ja richtig sein, dass Scrollbalken "dem Browser gehören". Aber das scheint weder Opera noch den IE davon abzuhalten, die CSS-Anweisungen entsprechend umzusetzen.

    Weshalb ist das mit dem FF nicht über eine Erweiterung machbar? Wenn ich mir ansehe, wieviele (teilweise sinnlose) Erweiterungen es gibt, dann ist wirklich tierisch viel machbar. Weshalb sollte gerade FF keine farbigen Scrollbalken darstellen können? Dafür muss es doch einen Grund geben.

  • Also zuerstmal..... die CSS-Befehle für die Scrollbalkenänderung ist von MS erfunden worden und ist nicht im Standard enthalten. Daher ist es mal keine Pflicht sowas zu unterstützen.

    Opera bietet das Optional an, da Opera viele Dinge von IE kopiert (bgsound, doc.all, scrollbalken, ...) um die zahlende Kundschaft bei der Stange zu halten. Mozilla hat das nicht wirklich "nötig".

    Die Leute bei Mozilla haben halt mal gesagt: scrollbalken gehören zu den Themes. Ende. Und es gibt wohl aktuell wichtigere Dinge auf der ToDo-Liste als (optionale) einfärbbare Scrollbalken.

    Es sollte recht problemlos möglich sein eine Erweiterung für diesen Zweck zu bauen.... aber offensichtlich hat sich bisher keiner gefunden, der daran interesse hatte, das mal umzusetzen. Insoferm scheint dieser Scrollbalkenkram innerhalb der aktiven Community keinerlei wirkliches Interesse zu wecken....

    Musst dir da wohl selbst helfen, oder jemanden finden, der dir sowas baut. aber normalerweise bauen leute nur was, was sie selbst haben wollen. immerhin machen die das ganze ohne was dafür zu bekommen.

  • Zitat von bugcatcher


    Es sollte recht problemlos möglich sein eine Erweiterung für diesen Zweck zu bauen.... aber offensichtlich hat sich bisher keiner gefunden, der daran interesse hatte, das mal umzusetzen. Insoferm scheint dieser Scrollbalkenkram innerhalb der aktiven Community keinerlei wirkliches Interesse zu wecken....

    Ist es nicht. Der Firefox überliest diese Werte einfach, sodass diese garnicht für ein Element ermittelt werden. Eine Erweiterung müsste also selbst mühsam die CSS-Dateien und Inline-Stylesheets parsen und mit den vorhandenen Elementen vergleichen. Und das ist dann doch etwas zu viel für ne kleine blöde Erweiterung.

    Sowas müsste wohl wirklich von den Mozilla-Entwicklern eingebaut werden.

  • In BEIDE, userchrome.css und usercontent.css eingetragen, klappt das hier wunderbar. Brauchst nur noch die Farben anpassen.

    Lieber einmal zuviel paranoid als einmal zu wenig!

  • Beziehsts du das auf meinen Post?

    Wenn Ja, muss ich noch was klarstellen. Das Problem ist nicht die Einfärbung der Scrollbar. Das ist mit ein paar Codezeilen getan.
    Das Problem ist die Ermittlung der Farbe, die der Webdesigner gerne auf der Scrollbar draufhätte. Dazu müssen wie gesagt erst die CSS-Eigenschaften aufwändig von der Seite ermittelt werden, während das bei 'normalen' CSS-Eigenschaften der Firefox für dich tut...

    Edit: Schreibfehler

    Einmal editiert, zuletzt von JonHa (4. August 2005 um 21:21)

  • Naja. Da man die namen der css-befehle kennt, lässt sich der quelltext ja auch leicht danach durchsuchen. das mit dem durchsuchen der externen css-dateien ist sicherlich komplizierter, aber wohl auch machbar.

    Mit "problemlos" meinte ich auch mehr: es IST machbar. das es ein kinderspiel ist, habe ich nicht behauptet, bzw. sagen wollen.

  • Das müsste/könnte doch über die einzelnen Themes - sofern man weiss wo es steht - modifiziert werden. Bin kein Coder und habe mir das wenige was ich weiss an vielen Stellen mühsam abgeguckt, aber die Spezies hier bspw Bazon Bloch sollte doch wissen, wo dies zu finden wäre.

    Oder missverstehe ich jetzt etwas :roll:

  • Also, um eine Erweiterung zu schreiben, die einer Webseite das einfärben der Scrollbars erlaubt, werden 2 Funktionen gebraucht.

    1. Muss die Erweiterung aus einer vorhandenen Webseite auslesen, welche farben denn Die Scrollbar bekommen soll. Da der Firefox das nicht für einen tut, geht das nach meinem Wissen nur über sehr aufwändige Analyse des Quellcodes.

    Zitat


    Naja. Da man die namen der css-befehle kennt, lässt sich der quelltext ja auch leicht danach durchsuchen. das mit dem durchsuchen der externen css-dateien ist sicherlich komplizierter, aber wohl auch machbar.


    Naja, is das ist alles ziemlich kompliziert. Zuerst muss der ganze CSS eingelesen werden. Das heißt, es müssen alle Bereiche einer Webseite, die CSS-Code enthalten, ermittelt werden, das können externe Dateien sein, per @include eingebundene Dateien, und style-Abschnitte. Wer es sehr genau machen will, muss auch styles, die durch javascript-Erzeugt werden, erfassen, wofür womöglich ein eigener Javascript-Interpreter nötig wäre. Hats mall alle Styles ermittelt, mus das alles geparst werden. Man muss wissen, welchem Element die Scrollbarfarbe zugewiesen soll, denn vielleicht trifft die Farbe ja nur auf die Scrollbar eines Textfeldes zu. Eventuelle Fehler in den CSS-Daten sollten dann auch nicht zum Absturz führen, sondern müssen umgangen werden.
    Nach den parsen muss noch ermittelt werden, auf welche Elemente das zutrifft. Vielleicht steht im Code ja #mybody oder .inhalt oder html oder * oder *[scrollbar]. Aus diesem ganzen Wirrwar müssen die richtigen Elemente ermittelt werden. Wenn man das hat, folgt erst die 2. Funktion, die Einfärbung der Scrollbar.
    Dies ist mit verhältnismäßig wenig Codezeilen getan. Man muss u.U. eine eigene Scrollbar definieren, denn wie will man eine schon bunte Scrollbar, die von manchen Themes erzeugt werden, noch zusätzlich einfärben. Man braucht allerdings noch etwas mehr Code, als den von Tombik, denn dieser hat ja keine Variable, sondern eine feste Farbe, und im IE lassen sich ja auch Rahmen, Inhalt und Symbole einzeln einfärben.

  • Zitat von Cafalot

    Das müsste/könnte doch über die einzelnen Themes - sofern man weiss wo es steht - modifiziert werden. Bin kein Coder und habe mir das wenige was ich weiss an vielen Stellen mühsam abgeguckt, aber die Spezies hier bspw Bazon Bloch sollte doch wissen, wo dies zu finden wäre.

    Oder missverstehe ich jetzt etwas :roll:

    Ja hallo, werde ich gerufen? In der Tat, Du missverstehst was: Es geht darum, dass die Webseite sagen soll, wie dir Scrollbars aussehen. Guck Dir mal die Seite in TryPods Signatur mit dem Fx und dem IE an, dann siehstes. Damit Du Dir vielleicht ein paar doofe Banner mit dem IE ersparst, hier direkt ein Link wo rumgescrollt wird.
    Übrgigens
    tombik:
    Das mit dem Scrollbar Code für userChrome.css und userContent.css wußte ich noch nicht, interessant! Ich hab nur mal festgestellt, dass sich die Scrollbars per userChrome.css höchstens wegpusten, nicht aber komplett umgestalten lassen.
    So ist das also! (Weiß jemand) warum eigentlich?

    Gruß,

    Bazon

  • Zitat

    1. Muss die Erweiterung aus einer vorhandenen Webseite auslesen, welche farben denn Die Scrollbar bekommen soll. Da der Firefox das nicht für einen tut, geht das nach meinem Wissen nur über sehr aufwändige Analyse des Quellcodes.

    Hmmmm - dann habe ich aber ein merkwürdiges Phänomen :roll:

    Habe Aufgrund dieser Scrollbarfrage (Ich war der Meinung es handelt sich um die des Browsers,
    andere eben die auf Webseiten) einmal mein "Littlefox" Theme auseinandergenommen, d.h. aus dem <global> Orner der jar die scrollbar.css extrahiert - die Codierung zu den scrollbars verändert
    und wieder implementiert (geht flott mit WinRar ohne alles auspacken zu müssen). Daraufhin eben
    meine scrollbars <bewundert> wie sie so schön leuchten wenn ich mit der Maus darüberfahre bzw gedrückt <wieder andere gewollte Farbe> halte zum hoch und runterfahren.

    *Freu* sieht echt gut aus jetzt.

    So jetzt kommt es. Anfrage in anderem Forum, hat jemand Probleme beim Upload mit Bildern.
    Flux etwas hochgeladen <direktupload.net> *dumdidumgewartet* und dann meinen Upload als
    Thumbnail betrachtet. Dieses lag in einem extra Fenster mit <srollbalken> weil der/die Link(s)
    so lang war. Geh auf den <scrollbalken> und wundere mich, dass dort die gleichen Farben
    auftauchen wie bei meinem Browser !!

    Wie ? wenn die irgendwie anders ausgelesen werden müssen ? The same hier mit der Textbox,
    die ja auch im Standard einen (hoch und runter) <srollbalken> hat ?

    Oder habe ich jetzt wieder Billets für den falschen Film ?

    [Blockierte Grafik: http://people.freenet.de/cafalot//scroll_color.jpg]

    Farbänderungen beziehen sich auch auf Pfeilboxen etc pp

  • Alle Scrollbalken gehören zum Browser, egal ob oben, unten, rechts, links oder mitte. Egal, ob in oder neben der Webseite. Bei Firefox werden für ALLE Scrollbalken die Windowsstandard- bzw. die Themes-Balken genommen.

  • Cafalot

    irgendwie verstehe ich nicht, worauf du hinauswillst. Die Einfärbung der Scrollbars aus dem Firefox heraus ist kein Problem. Egal wo sie sich befinden. Ob die sich nun an einer Textbox, am Browser, oder am Dropdownfeld von der Adressleiste befinden.

    Das Problem ist das Auslesen der Farbe, die der Webseitenentwickler für die Scrollbars auf seiner Webseite festgelegt hat (und die den Firefox nicht interessieren, weil der die Farbe lieber aus den Themes nimmt), und nicht die Einfärbung von irgendwelchen Scrollbars, welche auch immer.

  • Zitat

    irgendwie verstehe ich nicht, worauf du hinauswillst. Die Einfärbung der Scrollbars aus dem Firefox heraus ist kein Problem. Egal wo sie sich befinden. Ob die sich nun an einer Textbox, am Browser, oder am Dropdownfeld von der Adressleiste befinden.

    Sry aber ich bin wirklich auf dem falschen Dampfer :oops:

    Das war mir eben nicht bekannt, deshalb mein Geschwafel.

    *wirdzeitfürsbett*

  • Hallo,

    offen gesagt verstehe ich nach wie vor nicht, weswegen es anscheinend mit dem FF entweder nicht funktionieren wird oder aber nur mit erheblichem Aufwand.

    Wie setzen IE und Opera das denn um?

    Für mich ist folgendes klar:

    Wenn ich mir Themes installiere, dann ist die Veränderung von Scrollbalken möglich, allerdings beschränkt auf den Theme. Ist im Theme festgelegt, dass der Scrollbalken in verschiedenen Grün-Tönen ist, dann ändert daran auch CSS im Quelltext einer I-Net-Seite nichts.

    Der FF beherrscht CSS. Wenn ich mir beispielsweise verschiedene Internetseiten mit dem IE und FF ansehe, dann fällt gelegentlich auf, dass der IE mit CSS fest positionierte Elemente einfach ignoriert, der FF hingegen den Quelltext korrekt interpretiert. Schönes Beispiel ist (war) die Erweiterungen-Seite für den FF. Dort sind am oberen und am unteren Bildschirmrand zwei Elemente, die nicht mitscrollen. Das war bis vor kurzem noch so, dass der FF die Elemete fixierte, der IE nicht. Durch einen Workaround zeigt nun auch der IE alles korrekt an.

    Daraus schließe ich, dass der FF in der Lage ist, aus dem Quelltext einer Seite CSS-Befehle zu lesen und diese umzusetzen. Ob die CSS-Anweisungen nun direkt im Quelltext stehen oder ob vom Quelltext aus auf eine entsprechende Datei auf dem Server verwiesen wird, ist egal.

    Nun lese ich hier im Thread, dass offenbar ein wahnsinnig großer Aufwand nötig ist, man dieses und jenes berücksichtigen muss. Wie man auf der Erweiterungen-Seite sieht, lässt sich der Browser wirklich einzigartig anpassen und erweitern. Eine Implementierung eines "Übersetzers" von CSS zur Veränderung des Scrollbalkens kann doch nicht so schwierig sein. - Damit sage ich nicht, dass ich selbst dazu in der Lage bin. - Angesichts dessen, welche umfangreichen Erweiterungen es alles gibt, erscheint es mir wesentlich einfacher, dem FF beizubringen, farbige Scrollbalken darzustellen - abgesehen von Themes.

  • Zitat von TryPod

    Wie setzen IE und Opera das denn um?


    Die Befehle wurden direkt in die Renderengine des Browsers geschrieben. Gecko (die Renderengine vom Firefox) beherrscht diese Befehle nicht.

    Erweiterungen können aber nicht die Renderengine erweitern oder verändern. Sie bedienen sich an den von der Renderengine bereitgestellten Funktionen. Sind diese Funktionen in der Renderengine nicht enthalten, müssen sie aufwendig nachgestaltet werden.

    Im Falle der Scrollbalken: Erst müsste Firefox die Seite lesen und rendern. Da Gecko die Scrollbalkenbefehle nicht kennt, muss eine Erweiterung die Seite nocheinmal durchgehen und nach den entsprechenden Befehlen suchen und auch prüfen können, ob sie überhaupt aktiv sind (nicht das irgendwer in einem forum die einfach in den text geschrieben hat, sondern das sie in einem stylebereich oder einer externen datei liegen, und vor allem dann auch nicht auskommentiert sind).

    Hab den aufwand erheblich unterschätzt. Verstehe aber jetzt warum das ganze so aufwendig ist. Man muss für diese Funktion faktisch einen eigenen Minibrowser bauen. Das ist saumässig viel Arbeit.

    Es geht auch nicht um die Scrollbalken an sich. Das ist sogar noch recht einfach machbar. Nur eine Erweiterung zu schreiben, die weiss WANN und WIE diese Scrollbalken auszusehen hat, DAS ist die Arbeit.

    Sinnvoller wäre es, die Mozilla-Entwickler würden die Renderengine um diese Scrollbalken-Befehle erweitern. Die müssten das recht problemlos hinbekommen können (ist aber dennoch Arbeit). Eine Erweiterung eignet sich dafür aber weniger.

    Ausserdem... Firefox beherrscht richtiges CSS. Kein MS CSS. Deine Scrollbalken-dinger sind aber kein richtiges CSS, sondern MS CSS. Was richtiges CSS ist, bestimmt die w3c (http://www.w3.org). Und da gibts nix für Scrollbars. Die feste Positionierung aber IST Standard-CSS. Und wer kanns nicht? IE! Wem muss man mit umständlichen Tricks das beibringen? dem IE! Für Firefox muss da nix nachgebessert werden.

    Du wirfst zuviel in einen Topf, was nicht das selbe ist (woraus ich dir aber keinen Vorwurf mache, das Verwirrspiel ist von MS und Konsorten ja beabsichtigt gewesen).

    Du hast recht, dass der "Übersetzer" vom CSS das wohl noch relativ leicht beigebracht bekommen müsste. Nur Erweiterungen können dem nix beibringen. Das ist das Problem.

  • Von Seiten der Mozilla-Entwickler wäre es kein großes Problem dem Firefox noch die zusätzlichen CSS-Eigenschaften beizubringen. Die haben aber nun weiß Gott besseres zu tun, als irgendwelche 'nutzlosen' Microsoft-Befehle einzubauen, die wahrscheinnlich von vielen Benutzern und Entwicklern eh nicht gewünscht sind. (Gerade, weil Mozilla ja die Webstandards durchsetzen will und gegen solche MS-Befehe ist...)

    Das Problem am Programmieren einer Erweiterung ist, dass Erweiterungen eben nicht die 'inneren' Bereiche des internen Browser-Codes, wie zum Beispiel den CSS-Parser beeinflussen können. Deswegen wäre es erheblicher mehraufwand, das mit einer Erweiterung zu realisieren.

    Das gleiche Problem tritt übrigens auf, wenn man eine Erweiterung programmieren würde, die die Webseiten vorließt. Firefox interessiert sich nicht für die CSS-angaben die die Spracheeigenschaft, Lautstärke, Sprechgeschwindigkeit usw. regeln. Deswegen hat auch eine solche Erweiterung immense Probleme, diese Eigenschaften zu erfahren.

  • Zitat von bugcatcher

    Die Befehle wurden direkt in die Renderengine des Browsers geschrieben. Gecko (die Renderengine vom Firefox) beherrscht diese Befehle nicht.

    Erweiterungen können aber nicht die Renderengine erweitern oder verändern. Sie bedienen sich an den von der Renderengine bereitgestellten Funktionen. Sind diese Funktionen in der Renderengine nicht enthalten, müssen sie aufwendig nachgestaltet werden.

    Hab den aufwand erheblich unterschätzt. Verstehe aber jetzt warum das ganze so aufwendig ist. Man muss für diese Funktion faktisch einen eigenen Minibrowser bauen. Das ist saumässig viel Arbeit.


    Alles klar. Danke für die Erklärung. Jetzt habe ich zum ersten mal verstanden, weswegen es nicht so einfach ist, farbige Scrollbalken im FF zu realisieren. :)