Browser Plugin Detection with PluginDetect

PluginDetect is a Javascript library that detects browser plugins. The PluginDetect library is intended to work with all the major browsers such as Internet Explorer 6+, Firefox, Mozilla, Netscape, Chrome, Safari, Opera, SeaMonkey, Flock, and so on.

The PluginDetect Library is currently at version 0.8.8

Some Background Info on Internet Explorer

By now everyone knows that Internet Explorer (IE) has presented some security concerns with it's ActiveX technology. Internet Explorer 7 and higher overcomes some of these problems by deactivating many ActiveX controls by default. [Internet Explorer 9 and higher even has an ActiveX filter that allows you to turn off most ActiveX controls.]

So, if IE 7+ encounters a javascript that instantiates an ActiveX control for the very first time, then it will give a security popup message asking you to approve or disapprove the control. From a security standpoint, this is good - the user has more control over what happens and makes it less likely that some malware will run on his PC. From a plugin detection standpoint, however, things become more complicated.

Why? In order to do plugin detection in Internet Explorer, it is often neccessary to instantiate one or more ActiveX controls. For example, the javascript code:

new ActiveXObject('QuickTimeCheckObject.QuickTimeCheck.1')

has been effective in revealing the QuickTime version for IE < 7. But for IE 7+, this ActiveX control may generate a security popup message the very first time it is run.

Fortunately, there are some ActiveX controls that have been pre-approved by Microsoft, and hence will not cause any security popups. There are others which were previously run by the user in the browser window, and hence will also not cause a popup. PluginDetect makes every effort to only use controls that are least likely to cause a security popup.

Please note, however, that it is not always possible to avoid all popups during certain detections. For example, some newer versions of Java may generate a popup in IE when that Java version is outdated.