非常不錯的關于IE與FireFox的js和css幾處不同點[轉自星火燎原]
2020-10-23 18:39:53
供稿:網友
 
						在藍色上看到這篇文章的,感覺作者總結的不錯,至少有些偶自己也沒有真正的認識過。這些 東西的確是應該好好總結一下的,可惜偶這人比較懶,收藏整理于此,便于自己學習! 
1.firefox不能對innerText支持。 
firefox支持innerHTML但卻不支持innerText,它支持textContent來實現innerText,不過默認把多余的空格也保留了。如果不用textContent,如果字符串里面不包含HTML代碼也可以用innerHTML代替。 
2.禁止選取網頁內容: 
在IE中一般用js:obj.onselectstart=function(){return false;} 
而firefox用CSS:-moz-user-select:none 
3.濾鏡的支持(例:透明濾鏡): 
IE:filter:alpha(opacity=10); 
firefox:-moz-opacity:.10; 
4.捕獲事件: 
IE:obj.setCapture() 、obj.releaseCapture() 
Firefox: document.addEventListener("mousemove",mousemovefunction,true); 
    document.removeEventListener("mousemove",mousemovefunction,true); 
5.獲取鼠標位置: 
IE:event.clientX、event.clientY 
firefox:需要事件函數傳遞事件對象 
    obj.onmousemove=function(ev){ 
        X= ev.pageX;Y=ev.pageY; 
    } 
6.DIV等元素的邊界問題: 
比如:設置一個div的CSS::{width:100px;height:100px;border:#000000 1px solid;} 
IE中:div的寬度(包括邊框寬度):100px,div的高度(包括邊框寬度):100px; 
而firefox:div的寬度(包括邊框寬度):102px,div的高度(包括邊框寬度):102px; 
所以在做這個兼容IE和firefox的拖動窗口時,在js和css的寫法上要動點腦筋,給大家兩個小技巧 
一.判斷瀏覽器類型: 
var isIE=document.all? true:false; 
我寫了一個變量,如果支持document.all語法那么isIE=true,否則isIE=false 
二.在不同瀏覽器下的CSS處理: 
一般可以用!important來優先使用css語句(僅firefox支持) 
比如:{border-width:0px!important;border-width:1px;} 
在firefox下這個元素是沒有邊框的,在IE下邊框寬度是1px 
幾處XHTML與正常狀態下的JS、CSS的區別 
在網頁開頭加了這個代碼就是所謂的XHTML標準了<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
XHTML標準下的幾個不同點: 
1.document.documentElement 與 document.body 
代碼中設置頁面的CSS時一定要用:document.documentElement  
比如:document.documentElement.style.overflow='hidden'; 
overflow-X、overflow-Y 這兩個分坐標屬性XHTML是不支持的; 
2.在取得網頁窗口區域和獲取滾動條位移距離時也要用document.documentElement  
即這四個屬性(clientWidth、clientHeight、scrollLeft、scrollTop)一定要用document.documentElement  
但是document.body.appendChild()和document.body.removeChild()卻是可以用的,而且用document.documentElement.appendChild()和document.documentElement.removeChild()代替卻會報錯; 
總結一下僅clientWidth、clientHeight、scrollLeft、scrollTop和document.documentElement.style時才用document.documentElement 
3.加了這個標準以后IE的邊框問題也出現了變化,現在和firefox趨于一致了,是不是這個就是XHTML的優點――跨瀏覽器的標準 
上面提到: 
設置一個div的CSS::{width:100px;height:100px;border:#000000 1px solid;} 
IE中(正常情況):div的寬度(包括邊框寬度):100px,div的高度(包括邊框寬度):100px; 
firefox(正常情況)::div的寬度(包括邊框寬度):102px,div的高度(包括邊框寬度):102px; 
加了XHTML標準后的(IE和firefox打和了,^_^): 
IE中(XHTML):div的寬度(包括邊框寬度):102px,div的高度(包括邊框寬度):102px; 
firefox(XHTML)::div的寬度(包括邊框寬度):102px,div的高度(包括邊框寬度):102px;