You’re reading the English version of this content since no translation exists yet for this locale. Help us translate this article!
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
Pluginat the specified index into the array. PluginArray.namedItem- Returns the
Pluginwith 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 compatibility
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
PluginArray | Chrome Full support Yes | Edge Full support Yes | 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
| 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 |
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
| 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 |
refresh | 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 |
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.