你對IE和Firefox兼容性是否熟悉,這裡和大家分享一下Javascript的IE和Firefox兼容性問題以及解決方法,相信本文介紹一定會讓你有所收獲。
Javascript的IE和Firefox兼容性匯編
以下以IE代替InternetExplorer,以MF代替MozzilaFirefox
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中運行):
- <inputtypeinputtype="button"name="someButton"
- value="提交"onclick="Javascript:gotoSubmit()"/>
- ...
- <scriptlanguagescriptlanguage="Javascript">
- functiongotoSubmit(){
- ...
- alert(window.event);//usewindow.event
- ...
- }
- < span>script>
新代碼(可在IE和MF中運行):
- <inputtypeinputtype="button"name="someButton"value="提交"onclick="Javascript:gotoSubmit(event)"/>
- ...
- <scriptlanguagescriptlanguage="Javascript">
- functiongotoSubmit(evt){
- evtevt=evt?evt:(window.event?window.event:null);
- ...
- alert(evt);//useevt
- ...
- }
- < span>script>
此外,如果新代碼中第一行不改,與老代碼一樣的話(即gotoSubmit調用沒