navigator

    navigator 对象表示浏览器的信息,最常用的属性包括:

    • navigator.appName:浏览器名称;
    • navigator.appVersion:浏览器版本;
    • navigator.language:浏览器设置的语言;
    • navigator.platform:操作系统类型;
    • navigator.userAgent:浏览器设定的 User-Agent 字符串。
    'use strict';



    alert('appName = ' + navigator.appName + '\n' +

    'appVersion = ' + navigator.appVersion + '\n' +

    'language = ' + navigator.language + '\n' +

    'platform = ' + navigator.platform + '\n' +

    'userAgent = ' + navigator.userAgent);

    请注意 , navigator 的信息可以很容易地被用户修改,所以JavaScript读取的值不一定是正确的。很多初学者为了针对不同浏览器编写不同的代码,喜欢用 if 判断浏览器版本,例如:

    var width;

    if (getIEVersion(navigator.userAgent) < 9) {

    width = document.body.clientWidth;

    } else {

    width = window.innerWidth;

    }

    但这样既可能判断不准确,也很难维护代码。正确的方法是充分利用JavaScript对不存在属性返回 undefined 的特性,直接用短路运算符 || 计算:

    var width = window.innerWidth || document.body.clientWidth;