Is it possible to detect if a plugin is activated or not through JavaScript?

别说谁变了你拦得住时间么 提交于 2019-12-01 22:28:13
Nagi

Both of the other solutions work to find out if a plugin is installed AND is enabled.

There is currently no way to find out if the plugin is installed but is disabled. Navigator.plugins does not contain disabled plugins which are still installed.

navigator.plugins is an array, so you'd use for each in modern browsers and iterate with an index otherwise:

function pluginActive(pname) {
    for (var i = 0;i < navigator.plugins.length;i++) {
        if (navigator.plugins[i].name.indexOf(pname) != -1) {
            return true;
        }
    }
    return false;
}

console.log("Flash plugin " +
            (pluginsActive("Shockwave Flash") ? "active" : "not present"));

You can not distinguish plugins that are disabled and not present. Bear in mind that you may have to restart your browser before plugin activation / deactivation takes effect.

If the plugin in question is disabled, it won't appear in navigator.plugins or be otherwise exposed to the page.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!