PluginArray - 用于存储可用 Plugin 对象的列表

这是一个实验中的功能
此功能某些浏览器尚在开发中,请参考浏览器兼容性表格以得到在不同浏览器中适合使用的前缀。由于该功能对应的标准文档可能被重新修订,所以在未来版本的浏览器中该功能的语法和行为可能随之改变。

PluginArray 接口是用于存储 Plugin 对象的列表,这些对象描述了可用的插件;它由 window.navigator.plugins 属性返回。PluginArray 不是 JavaScript 数组,但具有 length 属性,并支持使用括号表示法(plugins[2])以及 item(index)namedItem("name") 方法。

注意:在最新的浏览器版本中,不再枚举 PluginArray 对象的自有属性。

属性

PluginArray.length 只读

数组中的插件数。

方法

PluginArray.item

返回数组中指定索引处的 Plugin

PluginArray.namedItem

返回具有指定名称的 Plugin

PluginArray.refresh

刷新当前页面上的所有插件,可以选择重新加载文档。

实例

以下实例函数返回 Shockwave Flash 插件的版本。

var pluginsLength = navigator.plugins.length;

document.body.innerHTML = pluginsLength + " 插件<br>"
  + '<table id="pluginTable"><thead>'
  +'<tr><th>名称</th><th>文件名</th><th>描述</th><th>版本</th></tr>'
  +'</thead><tbody></tbody></table>';

var table = document.getElementById('pluginTable');

for(var i = 0; i < pluginsLength; i++) {
  let newRow = table.insertRow();
  newRow.insertCell().textContent = navigator.plugins[i].name;
  newRow.insertCell().textContent = navigator.plugins[i].filename;
  newRow.insertCell().textContent = navigator.plugins[i].description;
  newRow.insertCell().textContent = navigator.plugins[i].version?navigator.plugins[i].version:"";
}

以下实例显示有关已安装插件的信息。

var pluginsLength = navigator.plugins.length;

document.write(
  pluginsLength.toString() + " 插件<br>" +
  "名称 | 文件名 | 描述<br>"
);

for(var i = 0; i < pluginsLength; i++) {
  document.write(
    navigator.plugins[i].name +
    " | " +
    navigator.plugins[i].filename +
    " | " +
    navigator.plugins[i].description +
    " | " +
    navigator.plugins[i].version +
    "<br>"
  );
}

规范

规范 状态 备注
HTML Living Standard
PluginArray 的定义
现行的标准 初始定义。

桌面浏览器兼容性

特性ChromeEdgeFirefoxInternet ExplorerOperaSafari
基础支持 支持 支持 支持 未知 支持 支持
item 支持112 支持 未知 支持 支持
length 支持12 支持 未知 支持 支持
namedItem 支持112 支持 未知 支持 支持
refresh 支持112 支持 未知 支持 支持

移动浏览器兼容性

特性AndroidChrome for AndroidEdge mobileFirefox for AndroidIE mobileOpera AndroidiOS Safari
基础支持 支持 支持 未知 支持 未知 不支持 支持
item 支持1 支持1 未知 支持 未知 不支持 支持
length 支持 支持 未知 支持 未知 不支持 支持
namedItem 支持1 支持1 未知 支持 未知 不支持 支持
refresh 支持1 支持1 未知 支持 未知 不支持 支持

1. 从版本 59 开始,方法参数是必需的,而不是可选的。

Firefox 除了通过从零开始的索引数字属性将每个插件作为伪数组列出外,还直接在 PluginArray 对象上使用插件名称作为属性访问。