IE與Firefox在JavaScript上的不同寫法小結
在這篇文章中,作者介紹了7個在IE和Firefox中不同的JavaScript句法。
1. CSS "float" 值
訪問一個給定CSS 值的最基本句法是:
erty
,使用駝峯寫法來替換有連接符的值,例如,訪問某個ID為"header"的
的background-color值,我們使用如下句法:
lementById("header")groundColor= "#ccc";
但由於"float"這個詞是一個JavaScript保留字,因此我們不能用
t
來訪問,這裏,我們可以在兩種瀏覽器中這麼做:
在IE中這樣寫:
lementById("header")eFloat = "left";
在Firefox中這樣寫:
lementById("header")loat = "left";
2. 元素的推算樣式
JavaScript可以使用
erty
句法,方便地在外部訪問和修改某個CSS樣式,但其限制是這些句法只能取出已設的行內樣式或者直接由JavaScript設定的樣式。並不能訪問某個外部的樣式表。為了訪問元素的"推算"樣式,我們可以使用下面的代碼:
在IE中這樣寫:
var myObject = lementById("header");
var myStyle = groundColor;
在Firefox中這樣寫:
var myObject = lementById("header");
var myComputedStyle = omputedStyle(myObject, null);
var myStyle = groundColor;
3. 訪問元素的"class"
像"float"一樣,"class"是JavaScript的一個保留字,在這兩個瀏覽器中我們使用如下句法來訪問"class"。
在IE中這樣寫:
var myObject = lementById("header");
var myAttribute = ttribute("className");
在Firefox中這樣寫:
var myObject = lementById("header");
var myAttribute = ttribute("class");
This syntax would also apply using the
setAttribute
method.
4. 訪問
就第3點中所提到的,我們同樣需要使用不現的句法區分來訪問
在IE中這樣寫:
var myObject = lementById("myLabel");
var myAttribute = ttribute("htmlFor");
在Firefox中這樣寫:
var = lementById("myLabel");
var myAttribute = ttribute("for");
5. 獲取鼠標指針的位置
計算出鼠標指針的位置對你來説可能是非常少見的,不過當你需要的時候,在IE和Firefox中的句法是不同的。這裏所寫出的代碼將是最最基本的,也可能是某個複雜事件處理中的某一個部分。但他們可以解釋其中的異同點。同時,必須指出的.是結果相對於Firefox,IE會有更在的不同,這種方法本身就是有BUG的。通常,這種不同可以用"拖動位置"來得到補償,但,那是另外一個主題的文章了: ) !
在IE中這樣寫:
複製代碼 代碼如下:
var myCursorPosition = [0, 0];
myCursorPosition[0] = ntX;
myCursorPosition[1] = ntY;
在Firefox中這樣寫:
複製代碼 代碼如下:
var myCursorPosition = [0, 0];
myCursorPosition[0] = X;
myCursorPosition[1] = Y;
6. 獲取可見區域、窗口的大小
有時,我們會需要找到瀏覽器的可視位置的大小,通常我們稱之為"可見區域"。
在IE中這樣寫:
var myBrowserSize = [0, 0];
myBrowserSize[0] = ntWidth;
myBrowserSize[1] = ntHeight;
在Firefox中這樣寫:
var myBrowserSize = [0, 0];
myBrowserSize[0] = rWidth;
myBrowserSize[1] = rHeight;
7. Alpha 透明
好吧,這並不是一個JavaScript句法問題,而是源自於CSS的Alpha透明。但當某個物體需要淡入/出則需要JavaScript來表現,這是通過訪問CSS的Alpha透明設置來完成的,通常在一個循環中完成。你需要通過來修改的JavaScript的代碼如下::
在IE中這樣寫:
#myElement { filter: alpha(opacity=50); }
在Firefox中這樣寫:
#myElement { opacity: 0.5; }
在IE中這樣寫:
var myObject = lementById("myElement");
er = "alpha(opacity=80)";
在Firefox中這樣寫:
var myObject = lementById("myElement"); ity = "0.5";
還有什麼不同的嗎?
這是作者(via: 7 JavaScript Differences Between Firefox & IE)個人根據自己的經驗整理的,而sofish在JavaScript上依然是一個新手。如果還有更多的不同,歡迎大家提出來,分享出來,共同學習!
-
asp.net 操作INI文件讀寫類實例代碼
操作INI文件讀寫類實例代碼複製代碼代碼如下:usingSystem;usingropServices;using;using;namespaceCommon{//////INI文件讀寫類。///publicclassINIFile{publicstringpath;publicINIFile(stringINIPath){path=INIPath;}[DllImport("kernel32")]privatestaticex...
-
如何理解Javascript的caller,callee,call,apply區別
在提到上述的概念之前,首先想説説javascript中函數的隱含參數:argumentsarguments該對象代表正在執行的函數和調用它的函數的參數。[function.]arguments[n]參數function:選項。當前正在執行的Function對象的名字。n:選項。要傳遞給Function對象的從0開始的參數值...
-
WAP的簡介
WAP協議被設計用來在無線客户端(比如移動電話)上展示因特網內容。您應當具備的基礎知識在繼續學習之前,您需要對下面的知識有基本的瞭解:WWW,HTML以及有關網頁構建的基礎知識JavaScriptXML如果您希望首先學習這些項目,請在我們的首頁訪問這些教程。什麼是WAP?無線產...
-
如何理解Javascript的caller,callee,call,apply區別
在提到上述的概念之前,首先想説説javascript中函數的隱含參數:argumentsarguments該對象代表正在執行的函數和調用它的函數的參數。[function.]arguments[n]參數function:選項。當前正在執行的Function對象的名字。n:選項。要傳遞給Function對象的從0開始的參數值...
相關文章
- 六級英語寫作範文:The Celebration of Western Festivals
- JavaScript在Android的WebView中parseInt函數轉換不正確
- 英語四級作文The Importance of Physical Exercise
- JavaScript toFixed方法介紹
- Spring Festival is My Favorite Festival英語作文
- 私家車的壞處The Disadvantages of Private Cars英語作文
- OFFICE2007每次打開word時都顯示配置microsoft office professio
- 託福英語寫作範文:Examinations exert a pernicious influence on educat
- 高中英語作文:My approach to difficulties in learning
- JavaScript instanceof 的使用方法有哪些