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.length
Read 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 compatibility
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
PluginArray | Chrome Full support Yes | Edge Full support ≤18 | 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.