美文网首页
3.navigator 对象

3.navigator 对象

作者: 唐唐_sugar | 来源:发表于2016-09-19 16:40 被阅读0次

每个浏览器中的navigator对象都有一套自己的属性

image image

1. 检测插件

  • 对于非IE浏览器,可使用plugins数组来达成目的。数组中的每一项都包含下列属性
    • name:插件名
    • description:插件描述
    • filename:插件的文件名
    • length:插件说出你的MIME类型数量
function hasPlugin(name) {
   name = name.toLowerCase();  //将传入的参数name转换为小写
   for (var i = 0; i < navigator.plugins.length; i++) {
       //通过indexOf检测传入的名称是否出现在字符串的某个地方
       if (navigator.plugins[i].name.toLowerCase().indexOf(name) > -1 ) {  
           return true;
       }
   }
   return false;
}
//检测Flash
console.log(hasPlugin("Flash"));
  • 对于IE浏览器,检测插件唯一方式是使用专有的ActiveXObject类型。参数为COM标识符
function hasIEPlugin(name) {
    try {
        new ActiveXObject(name);
        return true;
    } catch (ex) {
        return false;
    }
}
//检测Flash
console.log(hasIEPlugin("ShockwaveFlash.ShockwaveFlash"));

由于两种插件的方法差别太大,故典型做法是针对每个插件分别创建检测函数

function hasFlash(){
    var result = hasPlugin("Flash");
    if (!result) {
        result = hasIEPlugin("ShockwaveFlash.ShockwaveFlash");
    }
    return result;
}

2.注册处理程序

Firefox2为navigator对象新增了registerContentHandler()registerProtocolHandler()两个方法。

registerContentHandler()参数

  • 要处理的MIME类型
  • 可以处理该MIME类型的页面的URL
  • 应用程序的名称

registerProtocolHandler()参数

  • 要处理的协议 (mailto或ftp等)
  • 处理该协议的页面的URL
  • 应用程序的名称

相关文章

网友评论

      本文标题:3.navigator 对象

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