IE browser script to determine which (if any) ActiveX control will handle specific mime type

Posted by Jay13 on Stack Overflow See other posts from Stack Overflow or by Jay13
Published on 2010-05-16T02:37:24Z Indexed on 2010/05/16 2:40 UTC
Read the original article Hit count: 304

I'm trying to figure out in an IE script (javascript or vbscript) which ActiveX control will handle a specific mime type, "image/tiff" in this case. This is easy to do in other browsers that use plugins with;

navigator.mimeTypes["image/tiff"].enabledPlugin.name

which would return something like

QuickTime Plug-in X.X.X

I've found plenty of examples to tell if a specific plugin is loaded but since there are several plugins available that can handle tiff images I need to know which, if any, is registered to handle this mime type.

The problem I'm trying to deal with is that QuickTime always wants to register itself as the default tiff viewer but it does a terrible job of it resulting in lots of support calls. Unfortunately, simply detecting that QuickTime is installed isn't good enough since the user may also have another tiff viewer installed (like Alternatiff) as the default tiff viewer or the user may have configured QuickTime to not be the default viewer for tiff images so the browser could be using a helper app to display the image instead.

Not meaning to be difficult but before anyone suggests reengineering workarounds;

  • yes I know I could force the user to use a specific ActiveX viewer in IE or to use a Java tiff viewer but I'd rather let them use a viewer of their choice rather than forcing them to install a viewer of my choosing, especially since their viewer may be a helper app that loads the tiff image into a business workflow within their office
  • yes I know there are other image formats that I could use but tiff is the defacto standard for document imaging and that's what the vast majority of these users prefer to use. The problem isn't the image format, it's that QuickTime just doesn't cut it as a tiff viewer

Thanks in advance for any suggestions or solutions...

© Stack Overflow or respective owner

Related posts about internet-explorer

Related posts about JavaScript