Ticket #798: iecrash.3.patch
| File iecrash.3.patch, 1.6 kB (added by euzuro, 1 year ago) |
|---|
-
lib/OpenLayers/Util.js
old new 953 953 * {Array} two item array, L value then T value. 954 954 */ 955 955 OpenLayers.Util.pagePosition = function(forElement) { 956 var valueT = 0, valueL = 0; 956 var valueT = 0; 957 var valueL = 0; 957 958 958 959 var element = forElement; 959 do { 960 valueT += element.offsetTop || 0; 961 valueL += element.offsetLeft || 0; 960 while(element) { 961 962 valueT += element.offsetTop || 0; 963 valueL += element.offsetLeft || 0; 962 964 963 // Safari fix 964 if (element.offsetParent==document.body) 965 if (OpenLayers.Element.getStyle(element,'position')=='absolute') break; 965 // Safari fix 966 if ((element.offsetParent == document.body) && 967 (OpenLayers.Element.getStyle(element,'position') == 'absolute')) { 968 break; 969 } 966 970 967 } while (element = element.offsetParent); 968 971 try { 972 element = element.offsetParent; 973 } catch(e) { 974 OpenLayers.Console.error( 975 "OpenLayers.Util.pagePosition failed: element with id " + 976 element.id + " may be misplaced." 977 ); 978 break; 979 } 980 } 981 969 982 element = forElement; 970 do{983 while (element) { 971 984 valueT -= element.scrollTop || 0; 972 985 valueL -= element.scrollLeft || 0; 973 } while (element = element.parentNode); 986 987 element = element.parentNode; 988 } 974 989 975 990 return [valueL, valueT]; 976 991 };
