JS在firefox和IE之間的區別

2021-05-02 10:38:52 字數 3153 閱讀 1299

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...