JS的IE和Firefox相容性彙編

2021-04-12 11:43:31 字數 2061 閱讀 8058

引:以下以 ie 代替 internet explorer,以 mf 代替 mozzila firefox

以下以 ie 代替 internet explorer,以 mf 代替 mozzila firefox

1. document.form.item 問題

(1)現有問題:

現有**中存在許多 document.formname.item("itemname") 這樣的語句,不能在 mf 下執行

(2)解決方法:

改用 document.formname.elements["elementname"]

(3)其它

參見 2

2. 集合類物件問題

(1)現有問題:

現有**中許多集合類物件取用時使用 (),ie 能接受,mf 不能。

(2)解決方法:

改用 作為下標運算。如:document.forms("formname") 改為 document.forms["formname"]。

又如:document.getelementsbyname("inputname")(1) 改為 document.getelementsbyname("inputname")[1]

(3)其它

3. window.event

(1)現有問題:

使用 window.event 無法在 mf 上執行

(2)解決方法:

mf 的 event 只能在事件發生的現場使用,此問題暫無法解決。可以這樣變通:

原**(可在ie中執行):

...

新**(可在ie和mf中執行):

...

此外,如果新**中第一行不改,與老**一樣的話(即 gotosubmit 呼叫沒有給引數),則仍然只能在ie中執行,但不會出錯。所以,這種方案 tpl 部分仍與老**相容。

4. html 物件的 id 作為物件名的問題

(1)現有問題

在 ie 中,html 物件的 id 可以作為 document 的下屬物件變數名直接使用。在 mf 中不能。

(2)解決方法

用 getelementbyid("idname") 代替 idname 作為物件變數使用。

5. 用idname字串取得物件的問題

(1)現有問題

在ie中,利用 eval(idname) 可以取得 id 為 idname 的 html 物件,在mf 中不能。

(2)解決方法

用 getelementbyid(idname) 代替 eval(idname)。

6. 變數名與某 html 物件 id 相同的問題

(1)現有問題

在 mf 中,因為物件 id 不作為 html 物件的名稱,所以可以使用與 html 物件 id 相同的變數名,ie 中不能。

(2)解決方法

在宣告變數時,一律加上 var ,以避免歧義,這樣在 ie 中亦可正常執行。

此外,最好不要取與 html 物件 id 相同的變數名,以減少錯誤。

(3)其它

參見 問題4

7. event.x 與 event.y 問題

(1)現有問題

在ie 中,event 物件有 x, y 屬性,mf中沒有。

(2)解決方法

在mf中,與event.x 等效的是 event.pagex。但event.pagex ie中沒有。

故採用 event.clientx 代替 event.x。在ie 中也有這個變數。

event.clientx 與 event.pagex 有微妙的差別(當整個頁面有滾動條的時候),不過大多數時候是等效的。

如果要完全一樣,可以稍麻煩些:

mx = event.x ? event.x : event.pagex;

然後用 mx 代替 event.x

(3)其它

event.layerx 在 ie 與 mf 中都有,具體意義有無差別尚未試驗。

IE與firefox相容JS和CSS

這幾天都在除錯ie與火狐的相容,自己基本上在這方面沒什麼經驗,就是在網上蕩資料來解決問題,相容樣式 js物件 報表等等。直接貼 吧。function client ontreenodechecked e else var treenodefound false var checkedstate if...

js 鍵盤記錄實現 相容FireFox和IE

用js實現鍵盤記錄,要關注瀏覽器的三種按鍵事件型別,即keydown,keypress和keyup,它們分別對應onkeydown onkeypress和onkeyup這三個事件控制代碼。一個典型的按鍵會產生所有這三種事件,依次是keydown,keypress,然後是按鍵釋放時候的keyup。第一...

IE與Firefox的CSS相容

css對瀏覽器器的相容性具有很高的價值,通常情況下ie和firefox存在很大的解析差異,這裡介紹一下相容要點。常見相容問題 1.doctype 影響 css 處理 2.ff div 設定 margin left,margin right 為 auto 時已經居中,ie 不行 3.ff body 設...

firefox與ie的相容(css,html)

一。在 css中常用特殊字元識別表 二。2.在ie瀏覽器中不能夠理解!important的優先順序,因此,可以利用!important,設定針對ie和非ie的瀏覽器的樣式,只要在feiie流浪其樣式的後面加上1important就可以了 三。相容ie與firefox的css 線性漸變 linear ...

IE和FireFox樣式相容除錯要注意的幾點

ie和firefox樣式相容除錯要注意的幾點 1.doctype 影響 css 處理 2.ff div 設定 margin left,margin right 為 auto 時已經居中,ie 不行 3.ff body 設定 text align 時,div 需要設定 margin auto 主要是 ...