zoukankan      html  css  js  c++  java
  • javascript检测浏览器插件

      检测浏览器中是否安装了特定的插件,对于非IE的浏览器,可以使用plugins数组检测浏览器安装插件的情况:

    plugins属性:

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

    使用plugins检测浏览器插件时,需要循环迭代plugins在中的每一个插件并将插件的name与给定的名称比较

    //检测非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(hasPlug("flash"));

      检测IE中的插件就比较麻烦了,因为IE不支持Netscape式的插件,因此检测IE中的插件只能使用ActiveXObject类型,IE是以COM对象的方式实现插件的,而COM对象使用唯一标识符来标识,因此要检测IE中的插件就必须知道其COM标识符。

    //检测IE中的插件
    function hasPlugin(name){
          try{
                new ActiveXObject(name);
                return true;
          }catch(ex){
                return false;
          }
    }
    //检测flash,flash的标识符:ShockwaveFlash.ShockwaveFlash
    alert(hasPlug("ShockwaveFlash.ShockwaveFlash"));
    

      要检测所有的浏览器中的插件,将以上两个方法整合就可以了。

  • 相关阅读:
    Windows API 的数据类型与 Delphi 数据类型对照表
    Delphi 编译错误信息表
    Delphi中的容器类
    Delphi 快捷键
    代码折叠
    [转]Delphi中record的使用
    [转]常用公共函数单元
    Delphi 运行时错误信息表
    C#调用Win32 的API函数User32.dll
    [转]Delphi程序启动参数的读取
  • 原文地址:https://www.cnblogs.com/nangua/p/2114849.html
Copyright © 2011-2022 走看看