aames: XUL / Scrollbarvalue bei overflow:auto auslesen

Hallo zusammen,

Jaja, die Doppelpostings. Ich habs im Dezember schonmal versucht, selber Inhalt, andere Rubrik, aber leider gabs nicht eine AW auf die Frage, also versuch ichs einfach nochmal, ich bin doch wohl nicht der einzige hier in diesem forum der sich mit XUL herumschlagen muss?!

Okay, für diejenigen, denen XUL nichts sagt will ichs mal erklären, oder es jedenfalls versuchen, bin auch neu in der Materie:
Man nehme XML, baue sich damit ein Fenster zusammen, vgl. z.B. Firefox und seine Tabs, Cisilla, etc. Dieses kann nun mit Feeds gefüttert werden, Interaktivität entsteht durch JavaScript, damits schön aussieht, wird ein CSS drangehängt.
Easy, hab ich mir gedacht, kann ich ja schon alles.
Aber nein, hier gibts doch da und dort ein Problemchen, das folgende hab ich seit nunmehr 14 Tagen und komm einfach nicht auf eine Lösung:

Also, Schnipp, hier meine Frage:---

besteht per JS die Möglichkeit, bei einem overflow:auto Element (in meinem XUL-Fall eine tabbox und eine hbox, in HTML wäre es ein div) auszulesen, wie weit (in px) gescrollt wurde?

Sowas in der Richtung von

x= document.getElementById("meineHbox").scrollX;

In XUL (falls das wen interessiert) hab ich das mit

x= document.getElementById("myTabBox").boxObject.scrollLeft;

sowie mit
myHbox= document.getElementById("meineHbox") und dann
myHbox.boxObject.screenX
myHbox.screenX
myHbox.scrollWidth
myHbox.boxObject.scrollWidth
myHbox.boxObject.scrollLeft
myHbox.scrollLeft
myHbox.boxObject.left
myHbox.left

versucht, ging aber auch nicht :(

Irgendwie muss ich doch den Value der horizontalen Scrollbar herausfinden können?!

Vielen Dank vorab für Eure Antworten (in der Hoffnung, dass es welche gibt) und schöne Grüße

Alex

  1. Hallo,

    ich bin doch wohl nicht der einzige hier in diesem forum der sich mit XUL herumschlagen muss?!

    Nicht ganz ;-)

    besteht per JS die Möglichkeit, bei einem overflow:auto Element (in meinem XUL-Fall eine tabbox und eine hbox, in HTML wäre es ein div) auszulesen, wie weit (in px) gescrollt wurde?

    Ich habe das jetzt nicht mit XUL getestet, aber Mozilla hat m.W. allgemein
    einige Probleme mit scrollbaren Bereichen, die per 'overflow' realisiert
    wurden. In HTML-Dokumenten funktioniert da z.B. 'scrollTo()' oder die
    Verwendung des Mausrades auch nicht. Ich könnte mir vorstellen, daß das, was
    du vorhast, einfach nicht geht.

    Versuche doch mal einen iframe als HTML-Element in das XUL einzufügen (falls
    das geht (<html:iframe ...>...</html:iframe>)) und überprüfe, ob es dort mit
    deiner bisherigen Methode klappt.

    Gruß, Jan

    1. Hallo Jan,

      dank Dir erst mal für die Info.
      Gibts diese Probleme irgendwo dokumentiert? (Wenn Du grad keinen Link zur Hand hast werd ich mal googeln)

      Hier sitzt mir *Jehova* im Nacken, IFrame ist leider tabu, die Kiste existiert schon und muß umprogrammiert werden, das ganze mit Inhalten aus ner XML die in Tabs geparst werden. Bisher waren es so wenige, dass alle auf den Screen gepasst haben, inzwischen sinds mehr, so dass ich ne Scrollfunktion anbieten muss. (Bedienbarkeit aber ohne Maus, da Kioskanwendung, daher eben automatisch)

      Vielleicht gibts da ja auch nen ganz anderen Lösungsansatz aus XUL/DOM/JS den ich bisher übersehen habe?

      Schöne Grüße

      Alex

      1. Hallo,

        Gibts diese Probleme irgendwo dokumentiert? (Wenn Du grad keinen Link zur Hand hast werd ich mal googeln)

        Die Sache mit dem nicht funktionierenden Scrollrad ist ein bekanntes Problem,
        das man auch bei einigen Mozilla-Extensions 'bewundern' kann, die wohl Boxen
        mit 'overflow: auto;' (hab mir den Quelltext nicht angeschaut) verwenden.
        Daß scrollTo auch nicht geht, habe ich hier kürzlich gelesen (leider keinen
        Link parat). Daher habe ich vermutet, daß auch andere Dinge wie z.B.
        Scrollposition ermitteln bei 'overflow: auto' nicht funktionieren.

        Hier sitzt mir *Jehova* im Nacken, IFrame ist leider tabu

        Ich meinte, daß du es einfach mal testweise versuchen solltest. Wenn es mit
        dem iframe nämlich klappt, kannst du dir ja sicher sein, daß es sich um eine
        Unzulänglichkeit in Mozilla handelt, und du keinen Fehler gemacht hast.

        Vielleicht gibts da ja auch nen ganz anderen Lösungsansatz aus XUL/DOM/JS den ich bisher übersehen habe?

        Ich habe da leider keine Lösung für dich. Vielleicht weiß ja jemand in den
        Entwicklerforen Rat, aber die scheinen auch nicht so gut besucht zu sein.

        Gruß, Jan