資源描述:
《js瀏覽器兼容手冊(cè)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、js瀏覽器兼容手冊(cè)js瀏覽器兼容手冊(cè).txt點(diǎn)的是煙抽的卻是寂寞……不是你不笑,一笑粉就掉!人又不聰明,還學(xué)別人禿頂。綁不住我的心就不要說(shuō)我花心!再牛b的肖邦,也彈不出老子的悲傷!活著的時(shí)候開(kāi)心點(diǎn),因?yàn)槲覀円篮芫谩U?qǐng)你以后不要在我面前說(shuō)英文了,OK?avascript部分1.document.form.item問(wèn)題問(wèn)題:代碼中存在document.formName.item("itemName")這樣的語(yǔ)句,不能在FF下運(yùn)行解決方法:改用document.formName.elements["elementName"]2.集合類對(duì)象問(wèn)題問(wèn)題:代碼中許多集合類對(duì)象取用時(shí)使用(),IE能
2、接受,F(xiàn)F不能解決方法:改用[]作為下標(biāo)運(yùn)算,例:document.getElementsByName("inputName")(1)改為document.getElementsByName("inputName")[1]3.window.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
5、作為對(duì)象名的問(wèn)題問(wèn)題:在IE中,HTML對(duì)象的ID可以作為document的下屬對(duì)象變量名直接使用,在FF中不能解決方法:使用對(duì)象變量時(shí)全部用標(biāo)準(zhǔn)的getElementById("idName")5.用idName字符串取得對(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ì)象的名稱,所以可以使用與HTML對(duì)象id相同的變量名,IE中不能解決方法:在聲明
6、變量時(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)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)題:在I
7、E中可以用window.testFrame取得該frame,F(xiàn)F中不行解決方法:window.top.document.getElementById("testFrame").src='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ì)插
8、入空白文本節(jié)點(diǎn)解決方法:可以通過(guò)node.getElementsByTagName()來(lái)回避這個(gè)問(wèn)題問(wèn)題:當(dāng)html中節(jié)點(diǎn)缺失時(shí),IE和FF對(duì)parentNode的解釋不同,例如:
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
9、對(duì)象FF的body在body標(biāo)簽沒(méi)有被瀏覽器完全讀入之前就存在,而IE則必須在body完全被讀入之后才存在這會(huì)產(chǎn)生在IE下,文檔沒(méi)有載入完時(shí),在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ě)url就直接寫(xiě)&不要寫(xiě)&14.nodeName和tagName問(wèn)題問(wèn)題:在FF中,所有節(jié)點(diǎn)均有nod