Fixed the case where getComputedStyled was assumed to exist if getBoundingClientRect...
authorJohn Resig <jeresig@gmail.com>
Sat, 7 Nov 2009 13:57:27 +0000 (14:57 +0100)
committerJohn Resig <jeresig@gmail.com>
Sat, 7 Nov 2009 13:57:27 +0000 (14:57 +0100)
src/offset.js

index 7343353..8268ce7 100644 (file)
@@ -35,13 +35,13 @@ if ( "getBoundingClientRect" in document.documentElement ) {
                var offsetParent = elem.offsetParent, prevOffsetParent = elem,
                        doc = elem.ownerDocument, computedStyle, docElem = doc.documentElement,
                        body = doc.body, defaultView = doc.defaultView,
-                       prevComputedStyle = defaultView.getComputedStyle( elem, null ),
+                       prevComputedStyle = defaultView ? defaultView.getComputedStyle( elem, null ) : elem.currentStyle,
                        top = elem.offsetTop, left = elem.offsetLeft;
 
                while ( (elem = elem.parentNode) && elem !== body && elem !== docElem ) {
                        if ( jQuery.offset.supportsFixedPosition && prevComputedStyle.position === "fixed" ) { break; }
 
-                       computedStyle = defaultView.getComputedStyle(elem, null);
+                       computedStyle = defaultView ? defaultView.getComputedStyle(elem, null) : elem.currentStyle;
                        top  -= elem.scrollTop;
                        left -= elem.scrollLeft;