首頁 >web前端 >js教程 >javascript跨瀏覽器的屬性判斷方法_javascript技巧

javascript跨瀏覽器的屬性判斷方法_javascript技巧

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB原創
2016-05-16 16:55:25876瀏覽

今天在寫程式碼的時候發現一個很容易出錯的地方。當我們在宣告變數時,常常會因為不同的browser 有不同的API 定義,然後用以下的寫法來判斷哪一個屬性,例如:

複製程式碼 程式碼如下:
var fullscreenElement = document.mozFullScreenElement || document.webkitFullscreenElement || document.fullscreenElementute不過要小心 javascript 的值當成條件時的判斷。
例如:


複製程式碼 程式碼如下:var sLeft window.screenLeft || || screenX; //firefox use screenX
console.log(sLeft);

這段程式碼希望screenLeft 會回傳window.screenLeft ,而在firefox 會回傳window.screenX。
但是如果 screenLeft 剛好等於 0 的時候,就會進入||之後的條件了,接著就 gg 了。

因此建議在值的判斷還是正統一點用 hasOwnProperty 或 typeof 來判斷會比較精準。


複製程式碼 程式碼如下:var sLeft = window.screenLeft;
var sLeft = window.screenLeft;
if( window. hasOwnProperty('screenLeft')) sLeft = window.screenX;
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn