美文网首页Web前端之路让前端飞Web 前端开发
JavaScript浏览器对象模型(BOM)——navigato

JavaScript浏览器对象模型(BOM)——navigato

作者: 胖胖冰 | 来源:发表于2017-06-05 09:25 被阅读52次

navigator对象

navigator对象,已成为识别客户端浏览器的事实标准。下表列出了存在于所有浏览器中的属性和方法,已经支持它们的浏览器版本。

image.png image.png

这些navigator对象的属性通常用于检测显示网页的浏览器类型。

1.检测插件

检测浏览器中是否安装了特定的插件是一种最常见的检测例程。对于非IE浏览器,可以使用plugins数组来达到这个目的。该数组中每一项都包含下列属性。

  • name:插件的名字
  • description:插件的描述
  • filename:插件的文件名
  • length:插件所处理的MIME类型数量

一般来说,name属性中会包含检测插件必需的所有信息,但有时候也不完全如此。在检测插件时,像下面这样循环迭代每个插件并将插件的anme与给定的名字进行比较。

        //检测插件(在IE中无效)
        function hasPlugin(name) {
            name = name.toLowerCase();
            for (var i = 0; i < navigator.plugins.length, i++) {
                if (navigator.plugins[i].name.toLowerCase().indexOf(name) > -1) {
                    return true;
                }
            }
            return false;
        }
        //检测Flash
        alert(hasPlugin("Flash"));
        //检测QuickTime
        alert(hasPlugin("QuickTime"));
        //检测IE中的插件
        function hasIEPlugin(name) {
            try{
                new ActiveXObject(name);
                return true;
            }catch(ex){
                return false;
            }
        }

        //检测Flash
        alert(hasIEPlugin("ShockwaveFlash.ShockwaveFlash"));
        //检测QuickTime
        alert(hasIEPlugin("QuickTime.QuickTime"));

典型做法是针对每个插件分别创建检测函数。

        //检测所有浏览器中的Flash
        function hasFlash() {
            var result = hasPlugin("Flash");
            if(!result){
                result = hasIEPlugin("ShockwaveFlash.ShockwaveFlash");
            }
            return result;
        }
        //检测所有浏览器中的QuickTime
        function hasQuickTime() {
            var result = hasPlugin("QuickTime");
            if(!result){
                result = hasIEPlugin("QuickTime.QuickTime");
            }
            return result;
        }

        //检测Flash
        alert(hasFlash());
        //检测QuickTime
        alert(hasQuickTime());

相关文章

  • JS Window

    JavaScript Window - 浏览器对象模型 浏览器对象模型 (BOM) 使 JavaScript 有能...

  • JavaScript Window - 浏览器对象模型(9/11

    浏览器对象模型 (BOM) 使 JavaScript 有能力与浏览器"对话"。 浏览器对象模型 (BOM) 浏览器...

  • 1 js之window

    浏览器对象模型 (BOM) 使 JavaScript 有能力与浏览器“对话” 1 浏览器对象模型 (BOM)浏览器...

  • BOM模型

    BOM模型 浏览器对象模型(Browser Object Model),BOM对象是JavaScript的核心,该...

  • JavaScript浏览器对象模型(BOM)——navigato

    navigator对象 navigator对象,已成为识别客户端浏览器的事实标准。下表列出了存在于所有浏览器中的属...

  • javascript简介

    JavaScript 组成: 核心(ECMAScript) + 文档对象模型(DOM) + 浏览器对象模型(BOM...

  • JavaScript window对象

    JavaScript BOM BOM全称Browser Object Model,翻译为浏览器对象模型。通过BOM...

  • JavaScript Window - 浏览器对象模型

    浏览器对象模型 (BOM) 使 JavaScript 有能力与浏览器“对话”。 浏览器对象模型 (Browser ...

  • 八、Window - 浏览器对象模型

    Window - 浏览器对象模型 浏览器对象模型 (BOM) 使 JavaScript 有能力与浏览器"对话"。 ...

  • JavaScript--BOM

    JavaScript--BOM BOM(browser object model)浏览器对象模型 一、window...

网友评论

    本文标题:JavaScript浏览器对象模型(BOM)——navigato

    本文链接:https://www.haomeiwen.com/subject/spuxfxtx.html