javascript基础从小白到高手系列一千一百九十五:注册处理程序

在这个例子中,hasIEPlugin()函数接收一个 DOM 标识符参数。为检测插件,这个函数会使用传 入的标识符创建一个新 ActiveXObject 实例。相应代码封装在一个 try/catch 语句中,因此如果创 建的插件不存在则会抛出错误。如果创建成功则返回 true,如果失败则在 catch 块中返回 false。上 面的例子还演示了如何检测 Flash 和 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());

以上代码定义了两个函数 hasFlash()和 hasQuickTime()。每个函数都先尝试使用非 IE 插件检 测方式,如果返回 false(对 IE 可能会),则再使用 IE 插件检测方式。如果 IE 插件检测方式再返回 false, 整个检测方法也返回 false。只要有一种方式返回 true,检测方法就会返回 true。

1. 注册处理程序

现代浏览器支持 navigator 上的(在 HTML5 中定义的)registerProtocolHandler()方法。 这个方法可以把一个网站注册为处理某种特定类型信息应用程序。随着在线 RSS 阅读器和电子邮件客户 端的流行,可以借助这个方法将 Web 应用程序注册为像桌面软件一样的默认应用程序。
要使用 registerProtocolHandler()方法,必须传入 3 个参数:要处理的协议(如"mailto"或 “ftp”)、处理该协议的 URL,以及应用名称。比如,要把一个 Web 应用程序注册为默认邮件客户端, 可以这样做:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值