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 的定义 |
现行的标准 | 初始定义。 |
桌面浏览器兼容性
特性 | Chrome | Edge | Firefox | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|---|
基础支持 | 支持 | 支持 | 支持 | 未知 | 支持 | 支持 |
item | 支持1 | 12 | 支持 | 未知 | 支持 | 支持 |
length | 支持 | 12 | 支持 | 未知 | 支持 | 支持 |
namedItem | 支持1 | 12 | 支持 | 未知 | 支持 | 支持 |
refresh | 支持1 | 12 | 支持 | 未知 | 支持 | 支持 |
移动浏览器兼容性
特性 | Android | Chrome for Android | Edge mobile | Firefox for Android | IE mobile | Opera Android | iOS Safari |
---|---|---|---|---|---|---|---|
基础支持 | 支持 | 支持 | 未知 | 支持 | 未知 | 不支持 | 支持 |
item | 支持1 | 支持1 | 未知 | 支持 | 未知 | 不支持 | 支持 |
length | 支持 | 支持 | 未知 | 支持 | 未知 | 不支持 | 支持 |
namedItem | 支持1 | 支持1 | 未知 | 支持 | 未知 | 不支持 | 支持 |
refresh | 支持1 | 支持1 | 未知 | 支持 | 未知 | 不支持 | 支持 |
1. 从版本 59 开始,方法参数是必需的,而不是可选的。
Firefox 除了通过从零开始的索引数字属性将每个插件作为伪数组列出外,还直接在 PluginArray
对象上使用插件名称作为属性访问。