W3cubDocs

/DOM

PluginArray

This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

The PluginArray interface is used to store a list of Plugin objects describing the available plugins; it's returned by the window.navigator.plugins property. The PluginArray is not a JavaScript array, but has the length property and supports accessing individual items using bracket notation (plugins[2]), as well as via item(index) and namedItem("name") methods.

Note: Own properties of PluginArray objects are no longer enumerable in the latest browser versions.

Properties

PluginArray.lengthRead only
The number of plugins in the array.

Methods

PluginArray.item
Returns the Plugin at the specified index into the array.
PluginArray.namedItem
Returns the Plugin with the specified name.
PluginArray.refresh
Refreshes all plugins on the current page, optionally reloading documents.

Examples

The following example function returns the version of the Shockwave Flash plugin.

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

The following example displays information about the installed plugin(s).

var pluginsLength = navigator.plugins.length;

document.write(
  pluginsLength.toString() + " Plugin(s)<br>" +
  "Name | Filename | description<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>"
  );
}

Specifications

Specification Status Comment
HTML Living Standard
The definition of 'PluginArray' in that specification.
Living Standard Initial definition.

Browser compatibilityUpdate compatibility data on GitHub

Desktop
Chrome Edge Firefox Internet Explorer Opera Safari
Basic support Yes ? Yes ? ? ?
item Yes
Yes
Starting with version 59, method parameters are required instead of optional.
? Yes ? ? ?
length Yes ? Yes ? ? ?
namedItem Yes
Yes
Starting with version 59, method parameters are required instead of optional.
? Yes ? ? ?
refresh Yes
Yes
Starting with version 59, method parameters are required instead of optional.
? Yes ? ? ?
Mobile
Android webview Chrome for Android Edge Mobile Firefox for Android Opera for Android iOS Safari Samsung Internet
Basic support Yes Yes ? Yes No ? ?
item Yes
Yes
Starting with version 59, method parameters are required instead of optional.
Yes
Yes
Starting with version 59, method parameters are required instead of optional.
? Yes No ? ?
length Yes Yes ? Yes No ? ?
namedItem Yes
Yes
Starting with version 59, method parameters are required instead of optional.
Yes
Yes
Starting with version 59, method parameters are required instead of optional.
? Yes No ? ?
refresh Yes
Yes
Starting with version 59, method parameters are required instead of optional.
Yes
Yes
Starting with version 59, method parameters are required instead of optional.
? Yes No ? ?

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.

© 2005–2018 Mozilla Developer Network and individual contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/PluginArray