Netscape插件检测

从Netscape3.0开始,很多浏览器都可以通过Javascript来判断哪些MIME类型映射到了插件上,这就可以判断是否已经安装了给定的插件。这是通过window.mimeType集合来实现的。

每个注册到插件上的MIME类型都在window.mimeTypes中,按照数字和MIME类型进行索引,可以直接访问MIME类型。代表每个MIME类型的对象有四个特性:

  description - 由MIME类型代表的文件类型的描述;

  enabledPlugin - 指向包含指定插件信息的插件对象;

  suffixes - 与MIME类型相关的文件后缀名(如将.gif映射到image/gif);

  type - MIME类型;

 

  其中,enabledPlugin是另外一个对象,包含以下特性:

    description - 关于插件的描述;

    filename - 插件文件名;

    length - 与插件相关的MIME类型的数据;

    name - 插件的名称。

  如果MIME类型如果任何野插件与之相关,则enabledPlugin为null。

 

 也可以不用MIME类型来获取所有注册的插件的列表。navigator.plugins集合包含了所有可用的插件,按照名称和数字进行索引。集合中每一个条目都是一个插件对象,等同于每个MIME类型的enabledPlugin。如果知道插件的名称,可以直接访问。

  

PS. 用户下载了浏览器所需的插件后,navigator.plugins集合有可能会过期,所以使用前应该调用 refresh()方法来刷新navigator.plugins。 调用方法如下:navigator.plugins.refresh(true); 

 

浏览器插件工作过程是,通过将他们自己映射到特定的MIME类型,告诉浏览器当处理这种特定类型时,应该通过插件进行处理。

 

--摘自《JavaScript高级程序设计》

posted @ 2014-06-05 17:39  直来直往  阅读(812)  评论(0编辑  收藏  举报