This is an experimental technology
Because this technology's specification has not stabilized, check the compatibility table for usage in various browsers. Also note that the syntax and behavior of an experimental technology is subject to change in future versions of browsers as the specification changes.
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
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.
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
---|---|---|---|---|---|
Basic support | (Yes) | (Yes) | ? | ? | ? |
Method parameters change from optional to required. | 59 | ? | ? | ? | ? |
Feature | Android Webview | Chrome for Android | Firefox Mobile (Gecko) | Firefox OS | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|---|
Basic support | (Yes) | (Yes) | (Yes) | (Yes) | ? | ? | ? |
Method parameters change from optional to required. | 59 | 59 | ? | ? | ? | ? | ? |