【问题标题】:IE browser script to determine which (if any) ActiveX control will handle specific mime type确定哪个(如果有)ActiveX 控件将处理特定的 mime 类型的 IE 浏览器脚本
【发布时间】:2010-09-03 21:35:43
【问题描述】:

我试图在 IE 脚本(javascript 或 vbscript)中找出哪个 ActiveX 控件将处理特定的 mime 类型,在本例中为“image/tiff”。这在其他使用插件的浏览器中很容易做到;

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

这会返回类似的东西

QuickTime 插件 X.X.X

我找到了大量示例来判断是否加载了特定的 ActiveX 控件,但由于有几个可用的 ActiveX 控件可以处理 tiff 图像,因此我需要知道哪些(如果有)已注册来处理这种 mime 类型。

我要解决的问题是 QuickTime 总是想将自己注册为默认的 tiff 查看器,但它做得很糟糕,导致大量的支持电话。不幸的是,仅仅检测到安装了 QuickTime 还不够好,因为用户可能还安装了另一个 tiff 查看器(如 Alternatiff)作为默认 tiff 查看器,或者用户可能已将 QuickTime 配置为不是 tiff 图像的默认查看器,因此浏览器可能正在使用帮助应用程序来显示图像。

并不意味着困难,但在有人建议重新设计解决方法之前;

  • 是的,我知道我可以强制用户在 IE 中使用特定的 ActiveX 查看器或使用 Java tiff 查看器,但我宁愿让他们使用他们选择的查看器,而不是强制他们安装我选择的查看器,尤其是因为他们的查看器可能是一个帮助应用程序,可将 tiff 图像加载到他们办公室内的业务工作流程中
  • 是的,我知道我可以使用其他图像格式,但 tiff 是文档图像的事实上的标准,这也是绝大多数用户喜欢使用的格式。问题不在于图像格式,而在于 QuickTime 只是没有将其剪切为 tiff 查看器

提前感谢任何建议或解决方案...

【问题讨论】:

  • 最终结果是什么 - 如果 QuickTime 是默认处理程序,向他们提供某种警告?
  • 为什么不包装成 PDF - 如果是扫描,您可以轻松地将 tiff 标头更改为 pdf,例如 ccitt g4。或者,在显示 Click me 的 tiff 图像周围添加一个链接
  • 嗨,布拉德,是的,最终结果是向他们提供警告和指向页面的链接,其中包含有关可行的替代配置的说明。
  • 如果您无法弄清楚,并且您不想将其包装在 pdf 中,只需提供“查看文档有问题?”之类的链接。如果安装了 QuickTime。顺便说一句,我讨厌 QuickTime,巨大的下载量,糟糕的视频插件,经常崩溃,我经常看不到视频控件。

标签: javascript internet-explorer vbscript quicktime


【解决方案1】:

至少在 Internet Explorer 的当前功能下,使用 Javascript 实现您的既定目标几乎是不可能的。

不过,IE 也支持 VBScript 和签名的 ActiveX 控件。您可以使用它们来构建客户端小部件,以直接从注册表中获取默认的 MIME 类型关联。 Windows 将它们保存在“HKEY_LOCAL_MACHINE\Software\CLASSES\”中。 RFC2936 - HTTP MIME Type Handler Detection 给出了类似的建议,甚至还有代码示例。

如果上述内容看起来过于繁琐,那么您可以扩展最初的政策,即不将用户限制为特定的查看者。如果他们一开始就拥有 QuickTime,为什么不一路走下去,让用户继续使用它。用户的机器是私有领域,你无法知道 QuickTime 为何存在。

希望这有助于您朝着正确的方向前进。

【讨论】:

  • 嗯,写一个 ActiveX 控件来解决这个问题似乎有点重。我之前曾考虑过这样做,但似乎工作量太大,但是,根据您引用的参考资料,这似乎是唯一可能的解决方案。至于让他们继续使用 QuickTime,我永远不会覆盖他们的设置,因为就像你说的,这是他们的机器,可以随心所欲地使用。我的目的是简单地通知他们他们在查看我的应用程序提供的 Tiff 图像时可能会遇到问题,因为 QuickTime Viewer 不支持整个 Tiff 标准。谢谢扫罗...
猜你喜欢
  • 2015-10-22
  • 2013-01-27
  • 2011-10-16
  • 2011-01-11
  • 2017-07-14
  • 1970-01-01
  • 2012-11-02
相关资源
最近更新 更多