navigator對象
navigator
navigator對象表示瀏覽器的信息,最常用的屬性包括:
navigator.appName:瀏覽器名稱;
navigator.appVersion:瀏覽器版本;
navigator.language:瀏覽器設(shè)置的語言;
navigator.platform:操作系統(tǒng)類型;
navigator.userAgent:瀏覽器設(shè)定的User-Agent字符串。
<html> <head> <script> 'use strict'; alert('appName = ' + navigator.appName + '\n' + 'appVersion = ' + navigator.appVersion + '\n' + 'language = ' + navigator.language + '\n' + 'platform = ' + navigator.platform + '\n' + 'userAgent = ' + navigator.userAgent); </script> </head> <body> </body> </html>
請注意,navigator的信息可以很容易地被用戶修改,所以JavaScript讀取的值不一定是正確的。很多初學(xué)者為了針對不同瀏覽器編寫不同的代碼,喜歡用if判斷瀏覽器版本,例如:
var width;
if (getIEVersion(navigator.userAgent) < 9) { width = document.body.clientWidth; } else { width = window.innerWidth; }
但這樣既可能判斷不準(zhǔn)確,也很難維護(hù)代碼。正確的方法是充分利用JavaScript對不存在屬性返回undefined的特性,直接用短路運(yùn)算符||計(jì)算:
var width = window.innerWidth || document.body.clientWidth;