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.
PluginArray.length
Read only
PluginArray.item
Plugin
at the specified index into the array.PluginArray.namedItem
Plugin
with the specified name.PluginArray.refresh
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>" ); }
Specification | Status | Comment |
---|---|---|
HTML Living Standard The definition of 'PluginArray' in that specification. | Living Standard | Initial definition. |
Desktop | ||||||
---|---|---|---|---|---|---|
Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | |
Basic support | Yes | ? | Yes | ? | ? | ? |
item |
Yes
|
? | Yes | ? | ? | ? |
length |
Yes | ? | Yes | ? | ? | ? |
namedItem |
Yes
|
? | Yes | ? | ? | ? |
refresh |
Yes
|
? | Yes | ? | ? | ? |
Mobile | |||||||
---|---|---|---|---|---|---|---|
Android webview | Chrome for Android | Edge Mobile | Firefox for Android | Opera for Android | iOS Safari | Samsung Internet | |
Basic support | Yes | Yes | ? | Yes | No | ? | ? |
item |
Yes
|
Yes
|
? | Yes | No | ? | ? |
length |
Yes | Yes | ? | Yes | No | ? | ? |
namedItem |
Yes
|
Yes
|
? | Yes | No | ? | ? |
refresh |
Yes
|
Yes
|
? | Yes | No | ? | ? |
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.
© 2005–2018 Mozilla Developer Network and individual contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/PluginArray