NavigatorPlugins.plugins - Web API 接口参考 编辑
返回一个 PluginArray
类型的对象, 包含了当前所使用的浏览器安装的所有插件。
在Firefox 29及之后的版本,出于隐私考虑,navigator.plugins
数组的枚举可能会被限制。如果一定要检查是否存在某个浏览器插件,应该用准确的插件名字查询 navigator.plugins
或 navigator.mimeTypes
,而不是枚举 navigator.plugins
数组,再对比每个插件的名字。 这项有关隐私的改变不会禁用任何插件,只是将插件名字从枚举中隐藏了而已。
语法
plugins = navigator.plugins;
plugins
是一个 PluginArray
对象,通过名字或项目列表获取 Plugin
对象。
返回值不是一个普通的JavaScript数组,但是它也有 length
属性,也可以使用plugins
[index
]来获取到每个元素的值, 例如(plugins[2]
), 效果和使用 item(index)
以及 namedItem("name")
是一样的.
示例
下述示例中的函数返回Shockwave Flash插件的版本。
function getFlashVersion() { var flash = navigator.plugins.namedItem('Shockwave Flash'); if (typeof flash != 'object') { // flash is not present return undefined; } if(flash.version){ return flash.version; } else { //No version property (e.g. in Chrome) return flash.description.replace(/Shockwave Flash /,""); } }
下述示例可显示已安装插件的信息。
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:""; }
备注
Plugin
对象提供一个小型接口,用于获取浏览器中安装的各种插件的信息。你也可以进入 about:plugins
页面,来查看浏览器上安装的插件(Chrome已移除该入口)。
规范
规范 | 状态 | 注释 |
---|---|---|
HTML Living Standard NavigatorPlugins.plugins | Living Standard | Initial definition. |
浏览器兼容性
BCD tables only load in the browser
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.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论