自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

JavaScript在IE和Firefox之間的差異

開發(fā) 后端
JavaScript在不同的瀏覽器中會(huì)有差異。這篇文章中,我會(huì)略述一下 Internet Explorer 和 Firefox 在 JavaScript 語法上不同的幾個(gè)方面。

    1. JavaScript在CSS “float” 屬性上的差異
    獲取給定對(duì)象的特定 CSS 屬性的基本語法是 object.style 屬性,而且有連字符的屬性要用駱駝命名法來代替。例如,獲取一個(gè) ID 為 “header” 的 div 的 background-color 屬性,我們要用如下語法:

document.getElementById("header").style.borderBottom= "1px solid #ccc";

    但是由于 “float” 是 JavaScript 的保留詞,我們就無法使用 object.style.float 來獲取 “float” 屬性了。一下是我們?cè)趦煞N瀏覽器中的使用的方法:
    IE 語法:
document.getElementById("header").style.styleFloat = "left";

    Firefox 語法:
document.getElementById("header").style.cssFloat = "left";

    2. JavaScript在元素的計(jì)算樣式方面的差異
    通過使用上述的 object.style.property, JavaScript 可以很容易的獲取和修改對(duì)象的設(shè)定 CSS 樣式。但是這一語法的局限在于,它只能取得內(nèi)聯(lián)在 HTML 里的樣式,或者直接使用 JavaScript 設(shè)定的樣式。style 對(duì)象不能獲取使用外部樣式表設(shè)定的樣式。為了獲取對(duì)象的”計(jì)算樣式”,我們使用以下代碼:
    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”屬性的情況,這兩種瀏覽器使用不同的 JavaScript 方法來獲取這個(gè)屬性。
    IE 語法:
var myObject = document.getElementById("header");
var myAttribute = myObject.getAttribute("className");

    Firefox 語法:
var myObject = document.getElementById("header");
var myAttribute = myObject.getAttribute("class");

    4. 獲取 label 標(biāo)簽的 “for” 屬性
    和 3 一樣,使用 JavaScript獲取 label 的 “for” 屬性也有不同語法。
    IE 語法:
var myObject = document.getElementById("myLabel");
var myAttribute = myObject.getAttribute("htmlFor");

    Firefox 語法:
var myObject = document.getElementById("myLabel");
var myAttribute = myObject.getAttribute("for");

    對(duì)于 setAtrribute 方法來說也是同樣的語法。
    5. 獲取光標(biāo)位置
    獲取元素的光標(biāo)位置比較少見,如果需要這么做,IE 和 Firefox 的語法也是不同的。這個(gè)示例代碼是相當(dāng)基礎(chǔ)的,一般用作許多復(fù)雜事件處理的一部分,這里僅用來描述差異。需要注意的是,IE 中的結(jié)果和 Firefox 中是不同的,因此這個(gè)方法有些問題。通常,這個(gè)差異可以通過獲取 “滾動(dòng)位置” 來補(bǔ)償 - 但那是另外一篇文章的課題了。
    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;

【編輯推薦】

  1. JavaOne 2009第三天:微軟與Sun/Oracle攜手并進(jìn)
  2. 開發(fā)高可移植性J2ME的軟件
  3. Java虛擬機(jī)(JVM)中的內(nèi)存設(shè)置詳解
責(zé)任編輯:王觀 來源: 動(dòng)態(tài)網(wǎng)站制作指南
相關(guān)推薦

2010-08-17 15:52:59

FirefoxIEJavaScript

2010-10-09 12:43:20

JSfirefox

2010-08-17 15:21:17

IEFirefoxHTML

2010-08-20 13:34:12

IEFirefoxJavascript

2010-08-20 13:22:21

IEFirefoxJavaScript

2009-06-10 21:55:39

打開JavaScripIEFirefox

2010-08-23 09:23:48

IEFirefox兼容性

2010-09-15 09:21:11

IEirefoxJavascript

2010-08-19 09:09:53

FirefoxIECSS

2010-08-27 15:56:52

IEFirefoxCSS

2010-08-20 13:02:09

IEFirefox

2020-09-22 12:53:37

JavaScript循環(huán)可枚舉

2010-08-18 10:37:16

IE6IE7IE8

2010-09-15 11:08:48

CSSIE6IE7

2013-12-09 09:25:25

VMware vSAN

2021-07-14 10:58:47

SIMeSIMiSIM

2010-09-01 14:51:12

CSSIEFirefox

2010-08-31 09:24:29

FireFoxIECSS

2010-09-16 11:08:50

JSIEFirefox

2010-08-18 15:41:38

IE6E7Firefox
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)