PluginArray

已弃用:此特性不再推荐。虽然某些浏览器可能仍然支持它,但它可能已经从相关的网络标准中删除,可能正在删除过程中,或者可能仅为兼容性目的而保留。请避免使用它,如果可能,请更新现有代码;请参阅本页底部的兼容性表格以指导您的决策。请注意,此特性可能随时停止工作。

PluginArray 接口用于存储 Plugin 对象的列表;它由 navigator.plugins 属性返回。PluginArray 不是 JavaScript 数组,但它具有 length 属性,并支持使用方括号表示法 (plugins[2]) 以及 item(index)namedItem("name") 方法来访问单个元素。

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

实例属性

PluginArray.length 只读 已弃用

数组中插件的数量。

实例方法

PluginArray.item 已弃用

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

PluginArray.namedItem 已弃用

返回指定名称的 Plugin

PluginArray.refresh 已弃用

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

示例

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

js
const pluginsLength = navigator.plugins.length;

document.body.innerHTML =
  `${pluginsLength} Plugin(s)<br>` +
  `<table id="pluginTable"><thead>` +
  `<tr><th>Name</th><th>Filename</th><th>description</th><th>version</th></tr>` +
  `</thead><tbody></tbody></table>`;

const table = document.getElementById("pluginTable");

for (let 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 ?? "";
}

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

js
const pluginsLength = navigator.plugins.length;

document.write(
  `${pluginsLength.toString()} Plugin(s)<br>` +
    `Name | Filename | description<br>`,
);

for (let 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
# pluginarray

浏览器兼容性

除了将每个插件作为零索引的数字属性进行伪数组列表显示外,Firefox 还提供了直接在 PluginArray 对象上的插件名称属性。