JavaScript学习-navigator对象

1,介绍

  • navigator对象是所有支持JavaScript的浏览器所共有的。
  • 每个浏览器中的navigator对象都有一套自己的属性。下表列出了存在于所有浏览器中的属性和方法,以及支持他们的浏览器版本。
    这里写图片描述
    这里写图片描述

2,检测插件

  • 对于非IE浏览器,可以使用plugins数组来达到这个目的

    • plugins数组中每一项都包含下列属性
      • name:插件的名字。
      • descrition:插件的描述。
      • filename:插件的文件名。
      • length:插件所处理的MIME类型数量。
    • 可用如下代码进行检测插件

      function hasPlugin(name){
          name =name.toLowerCase();
          for (var=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中检测插件

    • 因为IE不支持Netscape式的插件。在IE中检测插件的唯一方式就是使用专有的ActiveXobject类型,并尝试创建一个特定插件的实例。
    • IE是以COM对象的方式实现插件的,而COM对象使用唯一标识符来标识。因此要想检查特定的插件,必须知道其COM标识符
    • 在IE中检测插件的代码

      function hasIEPlugin(name){ 
          try{ 
              new ActiveXobject(name); 
              return true; 
          } catch(ex){ 
              return false; 
          } 
      } 
      // 检测Flash 
      alert(hasIEPlugin("ShockwaveFlash");
      
      // 检测QuickTime 
      alert(hasPlugin("QuickTime.QuickTime  ");
  • 通用综合检测方法

    • 代码实例
    function hasFlash(){
        var result = hasPlugin("Flash");
        if(!result){
            result = hasIEPlugin("ShockwaveFlash.ShockwaveFlash");
        }
        return result;

3,注册处理程序

  • Firefox 2为navigator对象新增了registerContentHandler()和registerProtocolHandler()方法,这两个方法是在HTML5中定义的。这两个犯法可以让一个站点指名它可以处理特定类型的信息。随着RSS阅读器和在线电子邮箱程序的兴起注册处理程序就为像使用桌面应用程序一样默认使用这些在线应用程序提供了一种方式。
  • registerContentHandler()

    • 参数
      • 要处理的MIE类型,
      • 可以处理该MIME类型的页面的URL。
      • 应用程序的名称。
    • 代码示例
    navigator.registerContentHandler("application/rss+xml","http://www.somereader.com?feed=%s","Some Reader");
  • registerProtocolHandler()

    • 参数
      • 要处理的协议
      • 处理该协议的页面的URL
      • 应用程序的名称
    • 代码示例
    navigator.registerProtocolHandler("mailto","htp://www.somemailclient.com?cmd=%s","Som Mail Client");
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值