javascript跨瀏覽器的屬性判斷方法
更新時間:2014年03月16日 14:16:09 作者:
這篇文章主要介紹了javascript跨瀏覽器的屬性判斷的方法,需要的朋友可以參考下
今天在寫代碼的時候發(fā)現(xiàn)一個很容易出錯的地方。當我們在聲明變量時,常常會因為不同的 browser 有不同的 API 定義,然后用以下的寫法來判斷哪一個屬性,例如:
復制代碼 代碼如下:
var fullscreenElement = document.mozFullScreenElement || document.webkitFullscreenElement || document.fullscreenElement;
用||來檢查要用哪一個 attribute。
不過要小心 javascript 的值當成條件時的判斷。
例如:
復制代碼 代碼如下:
var sLeft = window.screenLeft || window.screenX; //firefox use screenX
console.log(sLeft);
console.log(sLeft);
這段代碼希望 screenLeft 會回傳 window.screenLeft ,而在 firefox 會回傳 window.screenX。
但是如果 screenLeft 剛好等於 0 的時候,就會進入||之后的條件了,接著就 gg 了。
因此建議在值的判斷還是正統(tǒng)一點用 hasOwnProperty 或 typeof 來判斷會比較精準。
復制代碼 代碼如下:
var sLeft = window.screenLeft;
if( !window.hasOwnProperty('screenLeft')) sLeft = window.screenX;
if( !window.hasOwnProperty('screenLeft')) sLeft = window.screenX;
相關文章
clipboard.js無需Flash無需依賴任何JS庫實現(xiàn)文本復制與剪切
這篇文章主要實現(xiàn)了無需Flash無需依賴任何JS庫實現(xiàn)文本復制與剪切,是一款極現(xiàn)代的,不需要flash,不依賴任何其他js庫的非常小的插件,叫clipboard.js,感興趣的小伙伴們可以參考一下2015-10-10調試Javascript代碼(瀏覽器F12及VS中debugger關鍵字)
目前,常用的瀏覽器IE、Chrome、Firefox都有相應的腳本調試功能下面我就介紹如何在瀏覽器/VS中調試我們的JS代碼,感興趣的你可不要走開啊,希望本文對你有所幫助2013-01-01基于bootstrap實現(xiàn)多個下拉框同時搜索功能
這篇文章主要為大家詳細介紹了基于bootstrap實現(xiàn)多個下拉框同時搜索功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-07-07JS實現(xiàn)自動定時切換的簡潔網(wǎng)頁選項卡效果
這篇文章主要介紹了JS實現(xiàn)自動定時切換的簡潔網(wǎng)頁選項卡效果,涉及JavaScript基于時間函數(shù)定時觸發(fā)遍歷函數(shù)實現(xiàn)定時切換功能,需要的朋友可以參考下2015-10-10javascript中的循環(huán)語句for語句深入理解
for循環(huán)是多數(shù)語言都有的。在javascript中,for循環(huán)有幾種不同的使用情況,下面為大家一一介紹下2014-04-04