資源描述:
《javascript 多瀏覽器兼容性問(wèn)題及解決方案》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫(kù)。
1、Javascript多瀏覽器兼容性問(wèn)題及解決方案一、document.formName.item(”itemName”)問(wèn)題問(wèn)題說(shuō)明:IE下,可以使用document.formName.item(”itemName”)或document.formName.elements["elementName"];Firefox下,只能使用document.formName.elements["elementName"]。解決方法:統(tǒng)一使用document.formName.elements["elementName"]。二、集合類
2、對(duì)象問(wèn)題問(wèn)題說(shuō)明:IE下,可以使用()或[]獲取集合類對(duì)象;Firefox下,只能使用[]獲取集合類對(duì)象。解決方法:統(tǒng)一使用[]獲取集合類對(duì)象。三、自定義屬性問(wèn)題問(wèn)題說(shuō)明:IE下,可以使用獲取常規(guī)屬性的方法來(lái)獲取自定義屬性,也可以使用getAttribute()獲取自定義屬性;Firefox下,只能使用getAttribute()獲取自定義屬性。解決方法:統(tǒng)一通過(guò)getAttribute()獲取自定義屬性。四、eval(”idName”)問(wèn)題問(wèn)題說(shuō)明:IE下,可以使用eval(”idName”)或getElementBy
3、Id(”idName”)來(lái)取得id為idName的HTML對(duì)象;Firefox下,只能使用getElementById(”idName”)來(lái)取得id為idName的HTML對(duì)象。解決方法:統(tǒng)一用getElementById(”idName”)來(lái)取得id為idName的HTML對(duì)象。五、變量名與某HTML對(duì)象ID相同的問(wèn)題問(wèn)題說(shuō)明:IE下,HTML對(duì)象的ID可以作為document的下屬對(duì)象變量名直接使用,F(xiàn)irefox下則不能;Firefox下,可以使用與HTML對(duì)象ID相同的變量名,IE下則不能。解決方法:使用docu
4、ment.getElementById(”idName”)代替document.idName。最好不要取HTML對(duì)象ID相同的變量名,以減少錯(cuò)誤;在聲明變量時(shí),一律加上var關(guān)鍵字,以避免歧義。六、const問(wèn)題問(wèn)題說(shuō)明:Firefox下,可以使用const關(guān)鍵字或var關(guān)鍵字來(lái)定義常量;IE下,只能使用var關(guān)鍵字來(lái)定義常量。解決方法:統(tǒng)一使用var關(guān)鍵字來(lái)定義常量。七、input.type屬性問(wèn)題beconsistentwithinthesamedisk.Alternateunifiedcorerequirement
5、splacedontheterminalstripterminals,onlineidentityandensurethecoppercoreisnotexposed.6.4.6enclosurewithinthesametothecablecoreprovidesbindingintoacircle,harnesstiespacingisgenerally100mm;branchofficesshallbebindingonbothends,eachcore問(wèn)題說(shuō)明:IE下input.type屬性為只讀;但是Firef
6、ox下input.type屬性為讀寫。解決辦法:不修改input.type屬性。如果必須要修改,可以先隱藏原來(lái)的input,然后在同樣的位置再插入一個(gè)新的input元素。八、window.event問(wèn)題問(wèn)題說(shuō)明:window.event只能在IE下運(yùn)行,而不能在Firefox下運(yùn)行,這是因?yàn)镕irefox的event只能在事件發(fā)生的現(xiàn)場(chǎng)使用。解決方法:在事件發(fā)生的函數(shù)上加上event參數(shù),在函數(shù)體內(nèi)(假設(shè)形參為evt)使用varmyEvent=evt?evt:(window.event?window.event:null
7、)示例:functiondoSomething(evt){varmyEvent=evt?evt:(window.event?window.event:null)...}九、event.x與event.y問(wèn)題問(wèn)題說(shuō)明:IE下,even對(duì)象有x、y屬性,但是沒(méi)有pageX、pageY屬性;Firefox下,even對(duì)象有pageX、pageY屬性,但是沒(méi)有x、y屬性。解決
8、方法:varmyX=event.x?event.x:event.pageX;varmyY=event.y?event.y:event.pageY;如果考慮第8條問(wèn)題,就改用myEvent代替event即可。十、event.srcElement問(wèn)題問(wèn)題說(shuō)明:IE下,even對(duì)象有srcElement屬性,但是沒(méi)有tar