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.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 StandardThe definition of 'PluginArray' in that specification. | Living Standard | Initial definition. |
Browser compatibility
The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
Update compatibility data on GitHub
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
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 Full support Yes 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 Full support Yes Notes' Starting with version 59, method parameters are required instead of optional. |
Chrome Android Full support Yes Full support Yes 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 Full support Yes 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 Full support Yes 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 Full support Yes Notes' Starting with version 59, method parameters are required instead of optional. |
Chrome Android Full support Yes Full support Yes 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 Full support Yes Notes' Starting with Samsung Internet 7.0, method parameters are required instead of optional. |
refresh
|
Chrome Full support Yes Full support Yes 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 Full support Yes Notes' Starting with version 59, method parameters are required instead of optional. |
Chrome Android Full support Yes Full support Yes 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 Full support Yes 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.
PluginArray by Mozilla Contributors is licensed under CC-BY-SA 2.5.