我试图在IE脚本(javascript或vbscript)中找出哪个ActiveX控件将处理特定的mime类型,在这种情况下为“image / tiff”。在其他使用插件的浏览器中很容易做到;
navigator.mimeTypes [ “图像/ TIFF”]。enabledPlugin.name
会返回类似
的内容QuickTime插件X.X.X
我已经找到了很多例子来判断是否加载了特定的ActiveX控件,但由于有几个可用的ActiveX控件可以处理tiff图像,我需要知道哪些(如果有的话)已经注册来处理这个mime类型。
我正在尝试处理的问题是QuickTime总是希望将自己注册为默认的tiff查看器,但是它做得很糟糕,导致大量的支持调用。不幸的是,仅仅检测到安装QuickTime是不够好的,因为用户可能还安装了另一个tiff查看器(如Alternatiff)作为默认的tiff查看器,或者用户可能已将QuickTime配置为不是tiff图像的默认查看器,因此浏览器可能正在使用帮助应用程序来显示图像。
并不意味着困难,但在任何人建议重新设计变通办法之前;
提前感谢任何建议或解决方案...
答案 0 :(得分:2)
至少使用Internet Explorer的当前功能,使用Javascript实现既定目标几乎是不可能的。
但是,IE还支持VBScript和签名的ActiveX控件。您可以使用它们构建客户端窗口小部件,以直接从注册表获取默认的MIME类型关联。 Windows将它们保存在“HKEY_LOCAL_MACHINE \ Software \ CLASSES \”中。 RFC2936 - HTTP MIME Type Handler Detection提供了类似的建议,甚至还有代码示例。
如果上述内容看起来过于繁琐,那么您可以扩展您的初始策略,即不将用户限制为特定的查看者。为什么不一直走,让用户留在QuickTime,如果他们首先拥有它。用户的计算机是私有区域,您无法知道QuickTime为何存在。
希望这有助于让您朝着正确的方向前进。