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高级程序设计》