NavigatorPlugins.plugins

翻译不完整。 请帮助我们翻译这篇文章!

返回一个 PluginArray 类型的对象, 包含了当前所使用的浏览器安装的所有插件。

在Firefox 29及之后的版本,出于隐私考虑,navigator.plugins 数组的枚举可能会被限制。如果一定要检查是否存在某个浏览器插件,应该用准确的插件名字查询 navigator.plugins  或 navigator.mimeTypes ,而不是枚举 navigator.plugins  数组,再对比每个插件的名字。 这项有关隐私的改变不会禁用任何插件,只是将插件名字从枚举中隐藏了而已。

语法

plugins = navigator.plugins;

plugins 是一个 PluginArray 对象,通过名字或项目列表获取 Plugin 对象。

返回值不是一个普通的JavaScript数组,但是它也有 length 属性,也可以使用plugins[index]来获取到每个元素的值, 例如(plugins[2]), 效果和使用 item(index) 以及 namedItem("name") 是一样的.

示例

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

function getFlashVersion() {
  var flash = navigator.plugins.namedItem('Shockwave Flash');
  if (typeof flash != 'object') {
    // flash is not present
    return undefined;
  }
  if(flash.version){ 
    return flash.version;
  } else {
    //No version property (e.g. in Chrome)
    return flash.description.replace(/Shockwave Flash /,"");
  }
}

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

var 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>';

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:"";
}

备注

Plugin对象提供一个小型接口,用于获取浏览器中安装的各种插件的信息。你也可以进入 about:plugins 页面,来查看浏览器上安装的插件(Chrome已移除该入口)。

规范

规范 状态 注释
HTML Living Standard
NavigatorPlugins.plugins
Living Standard Initial definition.

浏览器兼容性

Update compatibility data on GitHub
DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
pluginsChrome Full support YesEdge Full support ≤79Firefox ? IE ? Opera ? Safari ? WebView Android Full support YesChrome Android Full support YesFirefox Android ? Opera Android ? Safari iOS ? Samsung Internet Android Full support Yes

Legend

Full support  
Full support
Compatibility unknown  
Compatibility unknown

In addition to listing each plugin as a pseudo-array by zero-indexed numeric properties, Firefox provides properties that are the plugin name directly on the PluginArray object.