資源描述:
《javascript瀏覽器兼容手冊(cè)》由會(huì)員上傳分享,免費(fèi)在線(xiàn)閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、Javascript部分1.document.form.item問(wèn)題問(wèn)題:代碼中存在document.formName.item("itemName")這樣的語(yǔ)句,不能在FF下運(yùn)行解決方法:改用document.formName.elements["elementName"]2.集合類(lèi)對(duì)象問(wèn)題問(wèn)題:代碼中許多集合類(lèi)對(duì)象取用時(shí)使用(),IE能接受,F(xiàn)F不能解決方法:改用[]作為下標(biāo)運(yùn)算,例:document.getElementsByName("inputName")(1)改為document.getElementsByName("inputName")[1]3.win
2、dow.event問(wèn)題:使用window.event無(wú)法在FF上運(yùn)行解決方法:FF的event只能在事件發(fā)生的現(xiàn)場(chǎng)使用,此問(wèn)題暫無(wú)法解決??梢园裡vent傳到函數(shù)里變通解決:onMouseMove="functionName(event)"functionfunctionName(e){e=e
3、
4、window.event;......}4.HTML對(duì)象的id作為對(duì)象名的問(wèn)題問(wèn)題:在IE中,HTML對(duì)象的ID可以作為document的下屬對(duì)象變量名直接使用,在FF中不能解決方法:使用對(duì)象變量時(shí)全部用標(biāo)準(zhǔn)的getElementById("idName")5.用idName
5、字符串取得對(duì)象的問(wèn)題問(wèn)題:在IE中,利用eval("idName")可以取得id為idName的HTML對(duì)象,在FF中不能解決方法:用getElementById("idName")代替eval("idName")6.變量名與某HTML對(duì)象id相同的問(wèn)題問(wèn)題:在FF中,因?yàn)閷?duì)象id不作為HTML對(duì)象的名稱(chēng),所以可以使用與HTML對(duì)象id相同的變量名,IE中不能解決方法:在聲明變量時(shí),一律加上var,以避免歧義,這樣在IE中亦可正常運(yùn)行最好不要取與HTML對(duì)象id相同的變量名,以減少錯(cuò)誤7.event.x與event.y問(wèn)題問(wèn)題:在IE中,event對(duì)象有x,y屬性,F(xiàn)
6、F中沒(méi)有解決方法:在FF中,與event.x等效的是event.pageX,但event.pageXIE中沒(méi)有故采用event.clientX代替event.x,在IE中也有這個(gè)變量event.clientX與event.pageX有微妙的差別,就是滾動(dòng)條要完全一樣,可以這樣:mX=event.x?event.x:event.pageX;然后用mX代替event.x8.關(guān)于frame問(wèn)題:在IE中可以用window.testFrame取得該frame,F(xiàn)F中不行解決方法:window.top.document.getElementById("testFrame").s
7、rc='xx.htm'window.top.frameName.location='xx.htm'9.取得元素的屬性在FF中,自己定義的屬性必須getAttribute()取得10.在FF中沒(méi)有parentElement,parement.children而用parentNode,parentNode.childNodes問(wèn)題:childNodes的下標(biāo)的含義在IE和FF中不同,F(xiàn)F的childNodes中會(huì)插入空白文本節(jié)點(diǎn)解決方法:可以通過(guò)node.getElementsByTagName()來(lái)回避這個(gè)問(wèn)題問(wèn)題:當(dāng)html中節(jié)點(diǎn)缺失時(shí),IE和FF對(duì)parentNod
8、e的解釋不同,例如:
FF中input.parentNode的值為form,而IE中input.parentNode的值為空節(jié)點(diǎn)問(wèn)題:FF中節(jié)點(diǎn)自己沒(méi)有removeNode方法解決方法:必須使用如下方法node.parentNode.removeChild(node)11.const問(wèn)題問(wèn)題:在IE中不能使用const關(guān)鍵字解決方法:以var代替12.body對(duì)象FF的body在body標(biāo)簽沒(méi)有被瀏覽器完全讀入之前就存在,而IE則必須在body完全被讀入之后才存在這會(huì)產(chǎn)生在IE下,文檔沒(méi)有載入完時(shí),
9、在body上appendChild會(huì)出現(xiàn)空白頁(yè)面的問(wèn)題解決方法:一切在body上插入節(jié)點(diǎn)的動(dòng)作,全部在onload后進(jìn)行13.urlencoding問(wèn)題:一般FF無(wú)法識(shí)別js中的&解決方法:在js中如果書(shū)寫(xiě)urlhttp://www.intocn.net/就直接寫(xiě)&不要寫(xiě)&14.nodeName和tagName問(wèn)題問(wèn)題:在FF中,所有節(jié)點(diǎn)均有nodeName值,但textNode沒(méi)有tagName值,在IE中,nodeName的使用有問(wèn)題解決方法:使用tagName,但應(yīng)檢測(cè)其是否為空15.元素屬性IE下input.type屬性為只讀,但是FF下可以