一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

JavaScript在IE和Firefox瀏覽器下的7個差異兼容寫法小結

在這篇文章中,作者介紹了7個JavaScript在IE和Firefox中存在的差異。
1. 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";

2. 元素的推算樣式
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;
3. 訪問元素的”class”
像”float“一樣,”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");
This syntax would also apply using the setAttribute method.

4. 訪問<label>標簽中的”for”
就第3點中所提到的,我們同樣需要使用不現的句法區分來訪問<label>標簽中的”for“:
在IE中這樣寫:

var myObject = document.getElementById("myLabel");
var myAttribute = myObject.getAttribute("htmlFor");
在Firefox中這樣寫:

var = document.getElementById("myLabel");
var myAttribute = myObject.getAttribute("for");
5. 獲取鼠標指針的位置
計算出鼠標指針的位置對你來說可能是非常少見的,不過當你需要的時候,在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;
6. 獲取可見區域、窗口的大小
有時,我們會需要找到瀏覽器的可視位置的大小,通常我們稱之為”可見區域”。
在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;
7. 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";
還有什么不同的嗎?
這是作者(via: 7 JavaScript Differences Between Firefox & IE)個人根據自己的經驗整理的,而sofish在JavaScript上依然是一個新手。如果還有更多的不同,歡迎大家提出來,分享出來,共同學習!

JavaScript技術JavaScript在IE和Firefox瀏覽器下的7個差異兼容寫法小結,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 国产一区二区在线看 | 天天久久狠狠色综合 | 天天干夜夜怕 | 国产精品国产自线拍手机观看 | 97成人精品视频在线播放 | 91中文视频| 婷婷四色| 精品国产麻豆免费网站 | 欧美性色xo影院永久禁欲 | 亚洲大成色www永久网址 | 亚洲综合色一区二区三区小说 | 久久成人免费网站 | 五月天婷婷影院 | 91精品国产高清久久久久久io | www.色多多 | 中文字幕日产每天更新40 | 日本tubesex人妇| 色婷婷久久免费网站 | 亚洲大成色www永久网址 | 精品福利一区二区免费视频 | 久久精品国产线看观看亚洲 | 岛国精品| 亚洲国产精品久久人人爱 | 国产一二三区视频 | 免费精品在线视频 | 99热国产这里只有精品99 | 在线视频亚洲 | 日韩中文字幕精品免费一区 | 成年人激情网 | 在线观看色视频网站 | 亚洲午夜视频在线 | 精品在线观看免费 | 深爱激情五月网 | 国产国产成人精品久久 | 国产在线观看黄色 | 国产成人一区二区 | 四虎国产精品视频免费看 | 亚洲欧洲视频在线 | 日韩精品一级a毛片 | 看全色黄大色黄大片免责看的 | 99re这里只有精品66 |