Navigator.plugins does not display all plugins

I was working on detection of adblock plugin on a web browser and i noticed that


returns an array of PluginArray object with a list of plugins installed.

Java Applet Plug-in
Shockwave Flash
QuickTime Plug-in

But unexpectedly it does not return all plugins, plugins such as "User Agent Switcher" and "Adblock" were not listed (contrary to what is stated in

Why does it not display all plugins (am i missing something) or how do i display all plugins?


You can try check how those extensions modifying your page. As example User Agent Switcher for Chrome:

if (window.new_nav && window.old_navigator && window.new_nav.userAgent === navigator.userAgent) {
    console.log('user changed navigator.userAgent, real one:', window.old_navigator.userAgent);

To detect adBlock you can look into this question ->

The browsers don't return an array of plugins anymore, except the most common plugins such as Shockwave flash, Java, etc. I presume to avoid browser fingerprinting. You are supposed to check for each plugin that you are interested in specifically like

navigator.plugins["Silverlight Plug-In"].name

More info here

Need Your Help

iPhone identify button pressed

iphone uibutton selector target

I have a view with several buttons that all have the same target and action.