11. input.type屬性問題
問題說明:IE下input.type屬性為只讀;但是Firefox下input.type屬性為讀寫。
解決辦法:不修改input.type屬性。如果必須要修改拉盾,可以先隱藏原來的input,然后在同樣的位置再插入一個新的input元素。
12. event.srcElement問題
問題說明:IE下洲赵,even對象有srcElement屬性,但是沒有target屬性商蕴;Firefox下叠萍,even對象有target屬性,但是沒有srcElement屬性绪商。
解決方法:使用srcObj = event.srcElement ?event.srcElement : event.target;
如果考慮第8條問題苛谷,就改用myEvent代替event即可。
13. body載入問題
問題說明:Firefox的body對象在body標簽沒有被瀏覽器完全讀入之前就存在格郁;而IE的body對象則必須在body標簽被瀏覽器完全讀入之后才存在腹殿。
[注]這個問題尚未實際驗證独悴,待驗證后再來修改。
[注]經(jīng)驗證锣尉,IE6刻炒、Opera9以及FireFox2中不存在上述問題,單純的JS腳本可以訪問在腳本之前已經(jīng)載入的所有對象和元素自沧,即使這個元素還沒有載入完成坟奥。
14.事件委托方法
問題說明:IE下,使用document.body.onload = inject;其中function inject()在這之前已被實現(xiàn)拇厢;在Firefox下爱谁,使用document.body.onload = inject();
解決方法:統(tǒng)一使用document.body.onload=new Function(’inject()’);或者document.body.onload = function(){}
[注意] Function和function的區(qū)別。
15. Table操作問題
問題說明:ie孝偎、firefox以及其它瀏覽器對于table標簽的操作都各不相同管行,在ie中不允許對table和tr的innerHTML賦值,使用js增加一個tr時邪媳,使用appendChild方法也不管用捐顷。
解決方法://向table追加一個空行:
var row = otable.insertRow(-1);var cell = document.createElement("td");cell.innerHTML = "";cell.className = "XXXX";row.appendChild(cell);[注]由于俺很少使用JS直接操作表格,這個問題沒有遇見過雨效。建議使用JS框架集來操作table迅涮,如JQuery。
16.對象寬高賦值問題
問題說明:FireFox中類似obj.style.height = imgObj.height的語句無效徽龟。
? CSS
1. cursor:hand? ?VS? ?cursor:pointer
firefox不支持hand叮姑,但ie支持pointer
解決方法:統(tǒng)一使用pointer
17. innerText在IE中能正常工作,但在FireFox中卻不行.
需用textContent据悔。
解決方法:
if(navigator.appName.indexOf("Explorer")? ?>? ?-1){
document.getElementById('element').innerText? ?=? ?"my? ?text";
}? ?else{
document.getElementById('element').textContent? ?=? ?"my? ?text";
}
18. CSS透明
IE:filter:progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=60)传透。
FF:opacity:0.6。
opacity透明极颓,子元素會繼承透明屬性朱盐。解決方式:1、使用background:rgba(0,0,0,.6) //IE8及以下無效果菠隆。2兵琳、使用定位,背景色與子元素處于同級關系骇径。
19. css中的width和padding
在IE7和FF中width寬度不包括padding躯肌,在Ie6中包括padding.
?U?
交流:477706497
驗證:管
b=c.?W?u?t?