Christian S.: zuverlässig und browserübergreifend auf Scrollbars prüfen

Beitrag lesen

Hi,

Ich denke der Ansatz ist für mein Problem der richtige. Jedoch bin ich mir nicht sicher, ob mit oben stehendem Code alle bzw. möglichst viele Browser angedeckt werden. Außerdem verwirren mich die 2 Ausrufezeichen vor der öffnenden Klammer in den ersten 3 Zeilen (doppelte Negation oder was soll das bezwecken???).

Die !! bezwecken nur, dass das Ergebnis in einen Boolean gecastet wird.
Das macht zwar hier wenig Sinn, da JavaScript auch nicht-boolsche Ausdrücke als true interpretiert (außer 0 und leere Strings), aber eleganter ist vielleicht trotzdem.

Ansonsten für dein eigentliches Problem ist mir keine sichere Lösung bekannt.

Ich kenne auch nur die, die du vorgeschlagen hast. Allerdings kann man das noch etwas genauer machen.

Es gibt da noch:

document.body.offsetWidth
document.documentElement.scrollWidth
document.documentElement.offsetWidth
document.documentElement.clientWidth

und noch mal für height.

Irgendwann hatte ich auch mal dafür was geschrieben. Aber jeder Browser interpretiert das wohl etwas anders.
Dazu kommt noch die Unterscheidung, ob der IE Browser im Quirksmode ist oder nicht. Manchmal rechnet IE auch noch den winzigen 2px Rahmen des Browserfensters mit ein.
Sichtbare, aber nicht genutzte Scrollbars: Ist vermutlich schwierig das festzustellen.

Gruß!