資源描述:
《javascript中解決多瀏覽器兼容性23個問題的快速解決方法》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫。
1、JavaScript中解決多瀏覽器兼容性23個問題的快速解決方法下面小編就為大家?guī)硪黄狫avaScript中解決多瀏覽器兼容性23個問題的快速解決方法。小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一、document.formName.item(’’itemName”)問題問題說明:IE下,可以使用document.formName.item(’’itemName”)或document,formName.elements[〃elementName〃];Firefox下,只育泛使用document,formName.elements[〃elementName’’]。解決方法:統(tǒng)一使
2、用document.formName,elements[’’elementName”]。二、集合類對象問題問題說明:IE下,可以使用0或[]獲取集合類對象;Firefox下,只能使用□獲取集合類對象。解決方法:統(tǒng)一使用[]獲取集合類對象。三、自定義屬性問題問題說明:IE下,可以使用獲取常規(guī)屬性的方法來獲取自定義屬性,也可以使用getAttribute()獲取自定義屬性;Firefox下,只能使用getAttribute()獲取自定義屬性。解決方法:統(tǒng)一通過getAttribute()獲取自定義屬性。四、eval(”idName”)問題問題說明:IE下,可以使用eval(”idName”)或
3、getElementByld(”idName”)來取得id為idName的HTML對象;Firefox下,只能使用getElementByld(”idName”)來取得id為idName的HTML對象。解決方法:統(tǒng)一用getElementByld(”idName”)來取得id為idName的HTML對象。五、變量名與某HTML對象ID相同的問題問題說明:IE下,HTML對象的ID可以作為document的下屬對象變量名直接使用,F(xiàn)irefox下則不能;Firefox下,可以使用與HTML對象ID相同的變量名,IE下則不能。解決方法:使用document.getElementByld(idN
4、ame”)代替document,idName。最好不要取HTML對象ID相同的變量名,以減少錯誤;在聲明變量時,一律加上var關(guān)鍵字,以避免歧義。六、const問題問題說明:Firefox下,可以使用const關(guān)鍵字或var關(guān)鍵字來定義常量;IE下,只能使用var關(guān)鍵字來定義常量。解決方法:統(tǒng)一使用var關(guān)鍵字來定義常量。七、input.type屬性問題問題說明:IE下input.type屬性為只讀;但是Firefox下input,type屬性為讀寫。解決辦法:不修改input.type屬性。如果必須要修改,可以先隱藏原來的input,然后在同樣的位置再插入一個新的input元素。八、wi
5、ndow,event問題問題說明:window.event只能在IE下運行,而不能在Firefox下運行,這是因為Firefox的event只能在事件發(fā)生的現(xiàn)場使用。解決方法:在事件發(fā)生的函數(shù)上加上event參數(shù),在函數(shù)體內(nèi)(假設(shè)形參為evt)使用varmyEvent=evt?evt:(window.event?window.event:null)示例:1t:inputtype=〃button〃onclick=〃doSomething(event)〃/gt;It;scriptlanguage=〃javascript〃gt;functiondoSomething(evt){varmyEven
6、t=evt?evt:(window.event?window.event:nul1)九、event.x與event,y問題問題說明:IE下,even對象有x、y屬性,但是沒有pageX、pageY屬性;Firefox下,even對象有pageX、pageY屬性,但是沒有x、y屬性。角軍決方法:varmyX=event.x?event.x:event.pageX;varmyY=event.y?event,y:event.pageY;如果考慮第8條問題,就改用myEvent代替event即可。十、event.srcElement問題問題說明:IE下,even對象有srcElement屬性,但是
7、沒有target屬性;Firefox下,even對象有target屬性,但是沒有srcElement屬性。解決方法:使用srcObj=event.srcElement?event.srcElement:event.target;如果考慮第8條問題,就改用myEvent代替event即可。H—window,location,href問題問題說明:IE或者Firefox2.0.x下,可以使用window,location或