Ticket #798: iecrash.4.patch
| File iecrash.4.patch, 1.6 kB (added by tschaub, 1 year ago) |
|---|
-
lib/OpenLayers/Util.js
old new 986 986 var valueT = 0, valueL = 0; 987 987 988 988 var element = forElement; 989 do { 990 valueT += element.offsetTop || 0; 991 valueL += element.offsetLeft || 0; 989 var child = forElement; 990 while(element) { 992 991 993 // Safari fix 994 if (element.offsetParent==document.body) 995 if (OpenLayers.Element.getStyle(element,'position')=='absolute') break; 992 if(element == document.body) { 993 if(OpenLayers.Element.getStyle(child, 'position') == 'absolute') { 994 break; 995 } 996 } 997 998 valueT += element.offsetTop || 0; 999 valueL += element.offsetLeft || 0; 996 1000 997 } while (element = element.offsetParent); 1001 child = element; 1002 try { 1003 // wrapping this in a try/catch because IE chokes on the offsetParent 1004 element = element.offsetParent; 1005 } catch(e) { 1006 OpenLayers.Console.error( 1007 "OpenLayers.Util.pagePosition failed: element with id " + 1008 element.id + " may be misplaced." 1009 ); 1010 break; 1011 } 1012 } 998 1013 999 1014 element = forElement; 1000 do { 1001 valueT -= element.scrollTop || 0; 1002 valueL -= element.scrollLeft || 0; 1003 } while (element = element.parentNode); 1004 1015 while(element) { 1016 valueT -= element.scrollTop || 0; 1017 valueL -= element.scrollLeft || 0; 1018 element = element.parentNode; 1019 } 1020 1005 1021 return [valueL, valueT]; 1006 1022 }; 1007 1023
