這篇文章主要介紹了javascript跨浏覽器的屬性判斷的方法,需要的朋友可以參考下
今天在寫代碼的時候發現一個很容易出錯的地方。當我們在聲明變量時,常常會因為不同的 browser 有不同的 API 定義,然後用以下的寫法來判斷哪一個屬性,例如: 代碼如下:var fullscreenElement = document.mozFullScreenElement || document.webkitFullscreenElement || document.fullscreenElement; 用||來檢查要用哪一個 attribute。 不過要小心 javascript 的值當成條件時的判斷。 例如: 代碼如下:var sLeft = window.screenLeft || window.screenX; //firefox use screenX console.log(sLeft); 這段代碼希望 screenLeft 會回傳 window.screenLeft ,而在 firefox 會回傳 window.screenX。 但是如果 screenLeft 剛好等於 0 的時候,就會進入||之後的條件了,接著就 gg 了。 因此建議在值的判斷還是正統一點用 hasOwnProperty 或 typeof 來判斷會比較精準。 代碼如下:var sLeft = window.screenLeft; if( !window.hasOwnProperty('screenLeft')) sLeft = window.screenX;