JavaScript 的 navigator 对象包含一个名为 plugins 的子对象。这个对象是一个数组,其中每一项代表浏览器中安装的一个插件。请注意,navigator.plugins 对象仅被 Netscape、Firefox 和 Mozilla 支持。
示例
下面是一个例子,展示如何列出浏览器中安装的所有插件:
<html>
   <head>
      <title>插件列表</title>
   </head>
   <body>
      <table border="1">
         <tr>
            <th>插件名称</th>
            <th>文件名</th>
            <th>描述</th>
         </tr>
         <script language="JavaScript" type="text/javascript">
            for (var i = 0; i < navigator.plugins.length; i++) {
               document.write("<tr><td>");
               document.write(navigator.plugins[i].name);
               document.write("</td><td>");
               document.write(navigator.plugins[i].filename);
               document.write("</td><td>");
               document.write(navigator.plugins[i].description);
               document.write("</td></tr>");
            }
         </script>
      </table>
   </body>
</html>
检查插件
每个插件在数组中都有一个条目。每个条目具有以下属性:
- 
- 
- 
description— 由开发者提供的插件描述。
- 
mimeTypes— 一个数组,其中包含插件支持的每一种 MIME 类型。
您可以使用这些属性在脚本中找出已安装的插件,然后使用 JavaScript 来播放相应的多媒体文件。请参阅以下示例:
<html>
   <head>
      <title>使用插件</title>
   </head>
   <body>
      <script language="JavaScript" type="text/javascript">
         var media = navigator.mimeTypes["video/quicktime"];
         
         if (media) {
            document.write("<embed src='quick.mov' height='100' width='100'>");
         } else {
            document.write("<img src='quick.gif' height='100' width='100'>");
         }
      </script>
   </body>
</html>
注 — 在这里我们使用了 HTML <embed> 标签来嵌入一个多媒体文件。
控制多媒体
让我们来看一个实际的例子,它几乎可以在所有浏览器中工作:
<html>
   <head>
      <title>使用嵌入对象</title>
      <script type="text/javascript">
         function play() {
            if (!document.demo.IsPlaying()) {
               document.demo.Play();
            }
         }
         function stop() {
            if (document.demo.IsPlaying()) {
               document.demo.StopPlay();
            }
         }
         function rewind() {
            if (document.demo.IsPlaying()) {
               document.demo.StopPlay();
            }
            document.demo.Rewind();
         }
      </script>
   </head>
   <body>
      <embed id="demo" name="demo"
         src="http://www.amrood.com/games/kumite.swf"
         width="318" height="300" play="false" loop="false"
         pluginspage="http://www.macromedia.com/go/getflashplayer"
         swliveconnect="true">
      
      <form name="form" id="form" action="#" method="get">
         <input type="button" value="开始" onclick="play();" />
         <input type="button" value="停止" onclick="stop();" />
         <input type="button" value="倒带" onclick="rewind();" />
      </form>
   </body>
</html>