function getevent() //同時相容ie和ff的寫法
}func=func.caller;
}return null;
}1. 使用 document.getelementbyid 替代 document.all(ie)
2. 如果控制項只有 name, 沒有 id, 用 getelementbyid 時 :
ie :可以找到物件
ff :返回 null
解決方法:所有控制項必須設定 id 屬性
3. evel:
ie :支援, 利用 eval(idname) 可以取得 id 為 idname 的 html 對 象
ff :不支援。
解決方法:統一使用 getelementbyid(idname) 代替 eval(idname) 。
4. event :
ie :用全域性物件 window.event
ff : event 只能在事件發生的現場使 用, 在呼叫函式時傳入 event 對 象
解決方法:使用之前做一下瀏覽器型別判斷,各用各的。
5. 物件名稱中美元符號『 $』改為使用下劃線『 _』
6. 集合類物件問題
ie: 可以使用 () 或 獲取集合類物件
ff :只能使用 獲取集合類物件
現有**中存在許多,不能在 ff 下執行
解決方法 : 統一使用 獲取集合類物件。 document.form.item("itemname") 這樣的語句改為 document.form.elements["elementname"]
7. 變數名與某 html 物件 id 相同的問題
ie :不能 使用與 html 物件 id 相同的變數 名
ff:可以使用
解決方法: 在宣告變數時,一律加上 var ,以避免歧義,這樣在 ie 中亦可正常執行。
此外,最好不要取與 html 物件 id 相同的變數名,以減少錯誤 。
8. event 定位問題
ie :支援 event.x 和 event.y
ff :支援 event.pagex 和 event.pagey
解決方法,統一使用 event.clientx 和 event.clienty ,但是在 ff 中 event.clientx 與 event.pagex 有微妙的差別(當整個頁面有滾動條的時候),不過大多數時候是等效的 。如果要完全一樣,可以判斷瀏覽器型別後對應使用。
9. 父結點的問題
ie : parentelement parentelement.children
ff : parentnode parentnode.childnodes
childnodes 的下標的含義在 ie 和 ff 中不同, ff 使用 dom 規範, childnodes 中會插入空白文字節點。一般可以通過 node.getelementsbytagname() 來迴避這個問題。
當 html 中節點缺失時, ie 和 ff 對 parentnode 的解釋不同,例如
ie : input.parentnode 的值為空節點
ff : input.parentnode 的值為 form
ff 中節點沒有 removenode 方法,必須使用如下方法 node.parentnode.removechild(node)
10. const 問題
現有問題:
ie :不支援 const 關鍵字。如 const constvar = 32; 在 ie 中這是語法錯誤。
ff :支援
解決方法:不使用 const ,以 var 代替 。
11. body 對 象
ie:在 body 標籤完全被讀入之後才存 在
ff: 在 body 標籤沒有被瀏覽器完全讀入之前就存 在
12. 自定義屬性問題
ie :可以使用獲取常規屬性的方法來獲取自定義屬性 , 也可以使用 getattribute() 獲取自定義屬性
ff :只能使用 getattribute() 獲取自定義屬性 .
解決方法:統一通過 getattribute() 獲取自定義屬性
13. event.srcelement 問題
ie : even.srcelement
ff : even.target
解決方法 : 使用時判斷瀏覽器型別,各用各的。
14. 模態和非模態視窗
ie :支援模態和非模態視窗
ff :不支援
解決方法:直接使用 window.open(pageurl,name,parameters) 方式開啟新窗 口。 如果需要將子視窗中的引數傳遞歸父視窗 , 可以在子視窗中使用 window.opener 來訪問父窗 口。
15. innertext
ie : innertext
ff : textcontent
16. 類似 obj.style.height = imgobj.height 的語句
ie :有效
ff :無效
解決方法:統一使用 obj.style.height = imgobj.height + 'px';
IE和FF區別關於css和js
css 1.ul標籤ff中有padding值,沒有margin,ie中相反 解決辦法 將ul的padding和margin都設為0,js1.ie中innertext在火狐中沒有,使用textcontext 2.在ajax中返回物件狀態ie使用readystate,火狐中必須是readystate,所...
js在IE和FF下的不同
1.document.formname.item itemname 問題 說明 ie下,可以使用document.formname.item itemname 或document.formname.elements elementname firefox下,只能使用document.formname...
IE與FF的CSS區別
ie和ff對盒模型的解釋區別 ie和ff對盒模型的解釋也不一樣,說明 test test 顯示的寬頻是 650px ie box的總寬度是 width padding border margin寬度總和 ff box的總寬度就是 width的寬度,padding border margin的寬度在含...