3.navigator 对象

2016-09-19  本文已影响0人  唐唐_sugar

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

image image

1. 检测插件

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"));
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()参数

registerProtocolHandler()参数

上一篇 下一篇

猜你喜欢

热点阅读