麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > JavaScript > 正文

IE、FF、Chrome瀏覽器中的JS差異介紹

2019-11-20 22:25:04
字體:
來源:轉載
供稿:網友
因為瀏覽器公司各自為利益考慮,到目前為止各瀏覽器的HTML標準或是JS標準都還未統一。在平常的開發中,我們常使用的JS框架基本已經幫我們處理好了JS在各瀏覽器中的差異,但作為一個開發人員,還是有需要了解JS在瀏覽器中的差異。

FF、Chrome:沒有window.event對象
FF、Chrome:沒有window.event對象,只有event對象,IE里只支持window.event,而其他主流瀏覽器兩者都支持,所以一般寫成:function handle(e){e = e || event;}

獲取HTML元素
IE:支持el.name 、el.getAttribute(name)
FF、Chrome:基本屬性支持el.name其余屬性僅支持el.getAttribute(name)

自定義屬性問題
IE下,可以使用獲取常規屬性的方法來獲取自定義屬性,也可以使用 getAttribute() 獲取自定義屬性;Firefox下,只能使用 getAttribute() 獲取自定義屬性。

Ajax請求
IE: new ActiveXObject()
FF、Chrome:new XMLHttpRequest()

獲取HTML元素
IE:支持el.name 、el.getAttribute(name)
FF、Chrome:基本屬性支持el.name其余屬性僅支持el.getAttribute(name)

innerText的使用
FF不支持innerText,它支持textContent來實現innerText,不過textContent沒有像innerText一樣考慮元素的display方式,所以不完全與IE兼容。如果不用textContent,字符串里面不包含HTML代碼也可以用innerHTML代替。
if(document.all){
document.getElementById('element').innerText = "mytext";
} else{
document.getElementById('element').textContent = "mytext";
}

獲取鼠標指針的位置
計算出鼠標指針的位置對你來說可能是非常少見的,不過當你需要的時候,在IE和Firefox中的句法是不同的。這里所寫出的代碼將是最最基本的,也可能是某個復雜事件處理中的某一個部分。但他們可以解釋其中的異同點。同時,必須指出的是結果相對于Firefox,IE會有更在的不同,這種方法本身就是有BUG的。
在IE中這樣寫:
var myCursorPosition = [0, 0];
myCursorPosition[0] = event.clientX;
myCursorPosition[1] = event.clientY;
在Firefox中這樣寫:
var myCursorPosition = [0, 0];
myCursorPosition[0] = event.pageX;
myCursorPosition[1] = event.pageY;

獲取可見區域、窗口的大小
有時,我們會需要找到瀏覽器的可視位置的大小,通常我們稱之為"可見區域"。
在IE中這樣寫:
var myBrowserSize = [0, 0];
myBrowserSize[0] = document.documentElement.clientWidth;
myBrowserSize[1] = document.documentElement.clientHeight;
在Firefox中這樣寫:
var myBrowserSize = [0, 0];
myBrowserSize[0] = window.innerWidth;
myBrowserSize[1] = window.innerHeight;

Alpha 透明
這并不是一個JavaScript句法問題,而是源自于CSS的Alpha透明。但當某個物體需要淡入/出則需要JavaScript來表現,這是通過訪問CSS的Alpha透明設置來完成的,通常在一個循環中完成。你需要通過來修改的JavaScript的代碼如下::
在IE中這樣寫:
#myElement { filter: alpha(opacity=50); }
在Firefox中這樣寫:
#myElement { opacity: 0.5; }
在IE中這樣寫:
var myObject = document.getElementById("myElement");
myObject.style.filter = "alpha(opacity=80)";
在Firefox中這樣寫:
var myObject = document.getElementById("myElement"); myObject.style.opacity = "0.5";

CSS "float" 值
訪問一個給定CSS 值的最基本句法是:object.style.property,使用駝峰寫法來替換有連接符的值,例如,訪問某個ID為"header"的<div>的 background-color值,我們使用如下句法:
document.getElementById("header").style.backgroundColor= "#ccc";
但由于"float"這個詞是一個JavaScript保留字,因此我們不能用object.style.float來訪問,這里,我們可以在兩種瀏覽器中這么做:
在IE中這樣寫:
document.getElementById("header").style.styleFloat = "left";
在Firefox中這樣寫:
document.getElementById("header").style.cssFloat = "left";

元素的推算樣式
JavaScript可以使用object.style.property句法,方便地在外部訪問和修改某個CSS樣式,但其限制是這些句法只能取出已設的行內樣式或者直接由JavaScript設定的樣式。并不能訪問某個外部的樣式表。為了訪問元素的"推算"樣式,我們可以使用下面的代碼:
在IE中這樣寫:
var myObject = document.getElementById("header");
var myStyle = myObject.currentStyle.backgroundColor;
在Firefox中這樣寫:
var myObject = document.getElementById("header");
var myComputedStyle = document.defaultView.getComputedStyle(myObject, null);
var myStyle = myComputedStyle.backgroundColor;

訪問元素的"class"
"class"是JavaScript的一個保留字,在這兩個瀏覽器中我們使用如下句法來訪問"class"。
在IE中這樣寫:
var myObject = document.getElementById("header");
var myAttribute = myObject.getAttribute("className");
在Firefox中這樣寫:
var myObject = document.getElementById("header");
var myAttribute = myObject.getAttribute("class");
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 国产人成精品一区二区三 | www.91sese | 欧美日韩免费在线观看视频 | 免费观看一级淫片 | 国产亚洲精品美女久久久 | 一级毛片免费一级 | 久草手机在线 | 国产精品久久久久久久四虎电影 | 8x成人在线电影 | 1区2区3区国产 | 国产免费让你躁在线视频 | 91午夜少妇三级全黄 | 久草在线新时代视觉 | 久久久久久中文字幕 | 国产资源在线看 | 蜜桃网站在线观看 | 国产日韩在线观看一区 | 失禁高潮抽搐喷水h | 精品国产一区二区久久 | 双性帝王调教跪撅打屁股 | 热99精品视频| 国产成人自拍视频在线观看 | 国产亚洲精品久久久久5区 男人天堂免费 | 在线成人av观看 | 一级毛片在线观看免费 | 欧美日韩色 | 中文字幕在线观看视频一区 | 粉嫩蜜桃麻豆免费大片 | 免费观看视频在线观看 | 日本高清无遮挡 | 男女一边摸一边做羞羞视频免费 | 黄色影院在线看 | 成人在线视频播放 | 91精品国产92久久久久 | 精品在线免费播放 | 久草在线观看资源 | 国产日产精品一区二区三区四区 | 日韩欧美电影一区二区三区 | 久久草草亚洲蜜桃臀 | 久久逼逼| 欧美性生交xxxxx久久久缅北 |