1.
html
物件的id
作為物件名的問題ie:
html
物件的id
可以作為
document
的下屬物件變數名直接使
用ff:不支援
解決方法:使用
document.getelementbyid
替代 document.all 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.eventff:
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.childrenff:
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.srcelementff:
even.target
解決方法
:使用時判斷瀏覽器型別,各用各的。
14.模態和非模態視窗
ie:支援模態和非模態視窗
ff:不支援
解決方法:直接使用
window.open(pageurl,name,parameters)
方式開啟新窗
口。如果需要將子視窗中的引數傳遞歸父視窗
,可以在子視窗中使用
window.opener
來訪問父視窗。
15.innertextie:
innertextff:
textcontent
16.類似obj.style.height = imgobj.height
的語句ie
:有效ff
:無效解決方法:統一使用
obj.style.height = imgobj.height + 'px';
如何用JS識別IE和firefox
昨天又弄了乙個html,這個html是為了出測試報告用的,所以要求對ie和firefox都要支援,所以要用js對二者進行判斷,網上一搜,n多帖子,總體上大家寫的都還不錯,如下,window.nl ad function function createlistener false obj event....
IE與firefox相容JS和CSS
這幾天都在除錯ie與火狐的相容,自己基本上在這方面沒什麼經驗,就是在網上蕩資料來解決問題,相容樣式 js物件 報表等等。直接貼 吧。function client ontreenodechecked e else var treenodefound false var checkedstate if...
js在IE和ff之間的差異(相容)
1.在建立xmlhttprequest物件時存在相容 2.事件物件event的建立和屬性存在差異 ie中,event事件作為window物件的乙個屬性 而ff則作為引數傳遞給函式。同時ie阻止冒泡 阻止預設行為 事件源物件分別為 e.cancelbubble true returnvalue fal...