FF和IE之間7個(gè)JavaScript的差異
更新時(shí)間:2009年05月10日 14:58:27 作者:
盡管 JavaScript 歷史上使用冗長(zhǎng)而令人生厭的代碼塊來標(biāo)的特定瀏覽器的時(shí)期已經(jīng)結(jié)束了,但是偶爾使用一些簡(jiǎn)單的代碼塊和對(duì)象檢測(cè)來確保一些代碼在用戶機(jī)器上正常工作依然是必要的。
5. 獲取光標(biāo)位置
獲取元素的光標(biāo)位置比較少見,如果需要這么做,IE 和 Firefox 的語(yǔ)法也是不同的。這個(gè)示例代碼是相當(dāng)基礎(chǔ)的,一般用作許多復(fù)雜事件處理的一部分,這里僅用來描述差異。需要注意的是,IE 中的結(jié)果和 Firefox 中是不同的,因此這個(gè)方法有些問題。通常,這個(gè)差異可以通過獲取 “滾動(dòng)位置” 來補(bǔ)償 - 但那是另外一篇文章的課題了。
IE 語(yǔ)法:
復(fù)制代碼 代碼如下:
var myCursorPosition = [0, 0];
myCursorPosition[0] = event.clientX;
myCursorPosition[1] = event.clientY;
Firefox 語(yǔ)法:
復(fù)制代碼 代碼如下:
var myCursorPosition = [0, 0];
myCursorPosition[0] = event.pageX;
myCursorPosition[1] = event.pageY;
6. 獲取視窗或?yàn)g覽器窗口的尺寸
有時(shí)需要找出瀏覽器的有效窗口空間的尺寸,一般成為”視窗”。
IE 語(yǔ)法:
復(fù)制代碼 代碼如下:
var myBrowserSize = [0, 0];
myBrowserSize[0] = document.documentElement.clientWidth;
myBrowserSize[1] = document.documentElement.clientHeight;
Firefox 語(yǔ)法:
復(fù)制代碼 代碼如下:
var myBrowserSize = [0, 0];
myBrowserSize[0] = window.innerWidth;
myBrowserSize[1] = window.innerHeight;
7. Alpha 透明
嗯,這其實(shí)不是 JavaScript 的語(yǔ)法項(xiàng)目 - alpha 透明是通過 CSS 來設(shè)置的。但是當(dāng)對(duì)象通過 JavaScript 設(shè)置為淡入淡出時(shí),這就需要通過獲取 CSS 的 alpha 設(shè)定來實(shí)現(xiàn),一般是在循環(huán)內(nèi)部。要通過以下javaScript 來改變 CSS 代碼:
IE 語(yǔ)法:
復(fù)制代碼 代碼如下:
#myElement {
filter: alpha(opacity=50);
}
Firefox 語(yǔ)法:
復(fù)制代碼 代碼如下:
#myElement {
opacity: 0.5;
}
要使用 JavaScript 獲取這些值,需要使用 style 對(duì)象:
IE 語(yǔ)法:
復(fù)制代碼 代碼如下:
var myObject = document.getElementById("myElement");
myObject.style.filter = "alpha(opacity=80)";
Firefox 語(yǔ)法:
復(fù)制代碼 代碼如下:
var myObject = document.getElementById("myElement");
myObject.style.opacity = "0.5";
當(dāng)然,已經(jīng)說到了,一般是在循環(huán)中間來改變 opcity/alpha,來創(chuàng)建動(dòng)畫效果,但這這是個(gè)簡(jiǎn)單的例子,只是為了明白地描述方法是如何實(shí)現(xiàn)地。
原文:http://www.impressivewebs.com/7-javascript-differences-between-firefox-ie
譯文:http://www.qianduan.net/between-firefox-and-ie-differences-7-javascript.html
相關(guān)文章
跟我學(xué)習(xí)javascript的異步腳本加載
跟我學(xué)習(xí)javascript的異步腳本加載,告訴大家如何使自己的站點(diǎn)更快捷,以及最簡(jiǎn)單的方法 利用什么樣的工具達(dá)到預(yù)期效果,想一探究竟的朋友可以參考一下這篇文章。2015-11-11
JavaScript獲取GridView選擇的行內(nèi)容
一般GridView第一列是多選框CheckBox,負(fù)責(zé)標(biāo)記當(dāng)前行是否被選中,后面可以有文本框TextBox,下拉框DropDownList,標(biāo)簽Lable2009-04-04
javascript工廠模式和構(gòu)造函數(shù)模式創(chuàng)建對(duì)象方法解析
本文主要對(duì)javascript工廠模式和構(gòu)造函數(shù)模式創(chuàng)建對(duì)象方法進(jìn)行解析,具有一定的參考價(jià)值,下面跟著小編一起來看下吧2016-12-12
JavaScript 冒泡排序和選擇排序的實(shí)現(xiàn)代碼
本文通過實(shí)例代碼給大家介紹了js冒泡排序和選擇排序的實(shí)現(xiàn)代碼,代碼簡(jiǎn)單易懂,非常不錯(cuò),具有參考借鑒價(jià)值,感興趣的朋友一起學(xué)習(xí)吧2016-09-09
bootstrapTable+ajax加載數(shù)據(jù) refresh更新數(shù)據(jù)
這篇文章主要為大家詳細(xì)介紹了bootstrapTable+ajax加載數(shù)據(jù),以及refresh更新數(shù)據(jù),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-08-08
淺談在js傳遞參數(shù)中含加號(hào)(+)的處理方式
下面小編就為大家?guī)硪黄獪\談在js傳遞參數(shù)中含加號(hào)(+)的處理方式。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-10-10
微信小程序基于slider組件動(dòng)態(tài)修改標(biāo)簽透明度的方法示例
這篇文章主要介紹了微信小程序基于slider組件動(dòng)態(tài)修改標(biāo)簽透明度的方法,可通過slider組件拖動(dòng)實(shí)現(xiàn)圖片透明度的改變功能,涉及微信小程序事件綁定、base64格式圖片載入及slider組件使用技巧,需要的朋友可以參考下2017-12-12
JavaScript+HTML5實(shí)現(xiàn)的日期比較功能示例
這篇文章主要介紹了JavaScript+HTML5實(shí)現(xiàn)的日期比較功能,涉及javascript結(jié)合HTML5針對(duì)日期的轉(zhuǎn)換與運(yùn)算相關(guān)操作技巧,需要的朋友可以參考下2017-07-07

