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