1.集合類物件問題
說明:ie下,可以使用()或獲取集合類物件;
firefox下,只能使用獲取集合類物件.
解決方法:統一使用獲取集合類物件.
2.html物件獲取問題
firefox:document.getelementbyid("idname");
ie:document.idname或者document.getelementbyid("idname").
解決辦法:統一使用document.getelementbyid("idname");
3.const問題
說明:firefox下,可以使用const關鍵字或var關鍵字來定義常量;
ie下,只能使用var關鍵字來定義常量.
解決方法:統一使用var關鍵字來定義常量.
4.window.event問題
說明:window.event只能在ie下執行,而不能在firefox下執行,這是因為firefox的event只能在事件發生的現場使用.firefox必須從源處加入event作引數傳遞。ie忽略該引數,用window.event來讀取該event。
解決方法:
ie&firefox:
submitted(event)"/> …
function submitted(evt)
5.event.x與event.y問題
說明:ie下,even物件有x,y屬性,但是沒有pagex,pagey屬性;
firefox下,even物件有pagex,pagey屬性,但是沒有x,y屬性.
解決方法:使用mx(mx = event.x ? event.x : event.pagex;)來代替ie下的event.x或者firefox下的event.pagex.
6.event.srcelement問題
說明:ie下,event物件有srcelement屬性,但是沒有target屬性;
firefox下,even物件有target屬性,但是沒有srcelement屬性.
解決方法:使用obj(obj = event.srcelement ? event.srcelement : event.target;)來代替ie下的event.srcelement或者firefox下的event.target. 請同時注意event的相容性問題。
7.window.location.href問題
說明:ie或者firefox2.0.x下,可以使用window.location或window.location.href;
firefox1.5.x下,只能使用window.location.
解決方法:使用window.location來代替window.location.href.
8.模態和非模態視窗問題
說明:ie下,可以通過showmodaldialog和showmodelessdialog開啟模態和非模態視窗;firefox下則不能.
解決方法:直接使用window.open(pageurl,name,parameters)方式開啟新視窗。
如果需要將子視窗中的引數傳遞歸父視窗,可以在子視窗中使用window.opener來訪問父視窗.
例如:var parwin = window.opener; parwin.document.getelementbyid("aqing").value = "aqing";
9.frame問題
以下面的frame為例:
(1)訪問frame物件:
ie:使用window.frameid或者window.framename來訪問這個frame物件. frameid和framename可以同名。
firefox:只能使用window.framename來訪問這個frame物件.
另外,在ie和firefox中都可以使用window.document.getelementbyid("frameid")來訪問這個frame物件.
(2)切換frame內容:
在ie和firefox中都可以使用window.document.getelementbyid("testframe").src = "***.html"或window.framename.location = "***.html"來切換frame的內容.
如果需要將frame中的引數傳回父視窗(注意不是opener,而是parent frame),可以在frme中使用parent來訪問父視窗。例如:parent.document.form1.filename.value="aqing";
10.body問題
firefox的body在body標籤沒有被瀏覽器完全讀入之前就存在;而ie的body則必須在body標籤被瀏覽器完全讀入之後才存在.
11. 事件委託方法
ie:document.body.onload = inject; //function inject()在這之前已被實現
firefox:document.body.onload = inject();
12.firefox與ie的父元素(parentelement)的區別
ie:obj.parentelement
firefox:obj.parentnode
解決方法: 因為firefox與ie都支援dom,因此使用obj.parentnode是不錯選擇.
13.cursor:hand vs cursor:pointer
firefox不支援hand,但ie支援pointer
解決方法: 統一使用pointer
14.innertext在ie中能正常工作透明
ie:filter:progid:dximagetransform.microsoft.alpha(style=0,opacity=60)。
ff:opacity:0.6。
20. css圓角
ie:不支援圓角。
ff: -moz-border-radius:4px,或者-moz-border-radius-topleft:4px;-moz-border- radius-topright:4px;-moz-border-radius-bottomleft:4px;-moz-border-radius- bottomright:4px;。
21. css雙線凹凸邊框
ie:border:2px outset;。
ff: -moz-border-top-colors: #d4d0c8 white;-moz-border-left-colors: #d4d0c8 white;-moz-border-right-colors:#404040 #808080;-moz-border-bottom-colors:#404040 #808080;
22. 對select的options集合操作
列舉元素除了外,selectname.options.item()也是可以的, 另外selectname.options.length, selectname.options.add/remove都可以在兩種瀏覽器上使用。注意在add後賦值元素,否則會失敗(本人試驗如此)。
23. xmlhttp的區別
24.css中的width和padding
在ie7和ff中width寬度不包括padding,在ie6中包括padding.
IE和Firefox瀏覽器相容問題總結
滑鼠及物件座標控制屬性 offsettop 獲取物件相對於版面或由 offsetparent 屬性指定的父座標的計算頂端位置。offsetleft 獲取物件相對於版面或由 offsetparent 屬性指定的父座標的計算左側位置。offsetheight 獲取物件相對於版面或由父座標 offsetp...
ie瀏覽器相容筆記
ie低版本瀏覽器預設很多標籤是自帶樣式的。ul預設室友padding left 40px li標籤的預設樣式是跟其他瀏覽器不一樣的。預設帶有左邊距16px左右,設定屬性如下即可解決list style position outside position後記得在relative屬性的元素設定浮層 z ...
ie瀏覽器相容筆記
某某 經理讓你相容ie瀏覽器 我的內心 1.html 寫法不標準。有的html 不夠嚴謹,就會造成在ie瀏覽器下各種的問題。比如標題,最好不要直接用li標籤,最好外面有個div包裹,li列表外面需要有ul標籤包裹。應該載入一段公共css 去除某些樣式的預設初始屬性。body,div,dl,dt,dd...