Web/API/PluginArray

From Get docs

This is an experimental technologyCheck 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 StandardThe definition of 'PluginArray' in that specification. Living Standard Initial definition.

Browser compatibility

Update compatibility data on GitHub

Desktop Mobile
Chrome Edge Firefox Internet Explorer Opera Safari Android webview Chrome for Android Firefox for Android Opera for Android Safari on iOS Samsung Internet
PluginArray Chrome

Full support Yes

Edge

Full support 12

Firefox

Full support Yes

IE

?

Opera

Full support Yes

Safari

Full support Yes

WebView Android

Full support Yes

Chrome Android

Full support Yes

Firefox Android

Full support Yes

Opera Android

No support No

Safari iOS

Full support Yes

Samsung Internet Android

Full support Yes

item

Chrome Full support Yes

Notes'

Full support Yes

Notes'

Notes' Starting with version 59, method parameters are required instead of optional.

Edge

Full support 12

Firefox

Full support Yes

IE

?

Opera

Full support Yes

Safari

Full support Yes

WebView Android Full support Yes

Notes'

Full support Yes

Notes'

Notes' Starting with version 59, method parameters are required instead of optional.

Chrome Android Full support Yes

Notes'

Full support Yes

Notes'

Notes' Starting with version 59, method parameters are required instead of optional.

Firefox Android

Full support Yes

Opera Android

No support No

Safari iOS

Full support Yes

Samsung Internet Android Full support Yes

Notes'

Full support Yes

Notes'

Notes' Starting with Samsung Internet 7.0, method parameters are required instead of optional.

length Chrome

Full support Yes

Edge

Full support 12

Firefox

Full support Yes

IE

?

Opera

Full support Yes

Safari

Full support Yes

WebView Android

Full support Yes

Chrome Android

Full support Yes

Firefox Android

Full support Yes

Opera Android

No support No

Safari iOS

Full support Yes

Samsung Internet Android

Full support Yes

namedItem

Chrome Full support Yes

Notes'

Full support Yes

Notes'

Notes' Starting with version 59, method parameters are required instead of optional.

Edge

Full support 12

Firefox

Full support Yes

IE

?

Opera

Full support Yes

Safari

Full support Yes

WebView Android Full support Yes

Notes'

Full support Yes

Notes'

Notes' Starting with version 59, method parameters are required instead of optional.

Chrome Android Full support Yes

Notes'

Full support Yes

Notes'

Notes' Starting with version 59, method parameters are required instead of optional.

Firefox Android

Full support Yes

Opera Android

No support No

Safari iOS

Full support Yes

Samsung Internet Android Full support Yes

Notes'

Full support Yes

Notes'

Notes' Starting with Samsung Internet 7.0, method parameters are required instead of optional.

refresh

Chrome Full support Yes

Notes'

Full support Yes

Notes'

Notes' Starting with version 59, method parameters are required instead of optional.

Edge

Full support 12

Firefox

Full support Yes

IE

?

Opera

Full support Yes

Safari

Full support Yes

WebView Android Full support Yes

Notes'

Full support Yes

Notes'

Notes' Starting with version 59, method parameters are required instead of optional.

Chrome Android Full support Yes

Notes'

Full support Yes

Notes'

Notes' Starting with version 59, method parameters are required instead of optional.

Firefox Android

Full support Yes

Opera Android

No support No

Safari iOS

Full support Yes

Samsung Internet Android Full support Yes

Notes'

Full support Yes

Notes'

Notes' Starting with Samsung Internet 7.0, method parameters are required instead of optional.

Legend

Full support  
Full support
No support  
No support
Compatibility unknown  
Compatibility unknown
See implementation notes.'
See implementation notes.


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.