Browser 如何将自定义MIME类型与主要浏览器中的本地应用程序相关联?

Browser 如何将自定义MIME类型与主要浏览器中的本地应用程序相关联?,browser,cross-browser,mime-types,mime,Browser,Cross Browser,Mime Types,Mime,我想发明一种新的mime类型,并将其与浏览器中的自定义应用程序相关联,使用户能够从网页启动我的应用程序。我的安全网站的用户在一个封闭的环境中,这意味着这不是一个通用的主流应用程序-我可以提前配置他们的浏览器 做了一些非常类似的事情,允许使用迷你内核插件启动虚拟化应用程序 其中一个答案提到了这种方法,但没有详细说明如何实现它 如何在Chrome和IE 8/9上以跨平台的方式实现这一点?有没有办法通过浏览器扩展(本机或通过浏览器扩展)进行mime类型关联?Adobe Reader或Apple Qui

我想发明一种新的mime类型,并将其与浏览器中的自定义应用程序相关联,使用户能够从网页启动我的应用程序。我的安全网站的用户在一个封闭的环境中,这意味着这不是一个通用的主流应用程序-我可以提前配置他们的浏览器

做了一些非常类似的事情,允许使用迷你内核插件启动虚拟化应用程序

其中一个答案提到了这种方法,但没有详细说明如何实现它

如何在Chrome和IE 8/9上以跨平台的方式实现这一点?有没有办法通过浏览器扩展(本机或通过浏览器扩展)进行mime类型关联?Adobe Reader或Apple Quicktime等应用程序是如何实现这一点的?如果可能的话,我想避免接触注册表

与此方法相关的风险有哪些?我的网站是一个内部网web应用程序,由证书保护,并受我的用户信任。我为什么不走这条路

编辑:显然,在Firefox中,通过操纵


编辑:它看起来是一种基于Java的机制,可以用于相同的事情。是否存在类似的非Java构造?也许在Javascript中?

看起来可以通过

在Windows上

这是我的

使用来自的xdg UTIL


我经常想将新文件类型与文本文件相关联。最安全、最快捷的方法是:

A.在注册表中创建文件类型(如果它不存在)

  • Windows->搜索注册表编辑器->打开
  • 右键单击HKEY\U CLASSES\U ROOT->New->Key
  • 将密钥命名为与扩展名相同的名称(例如..txttt)
  • 单击新创建的密钥(例如HKEY_CLASSES_ROOT->.txttt)->右窗格中的右键单击(默认值)->修改->设置为以下值:
(默认)REGSZ txtfile

  • 右键单击新创建的键(例如HKEY_CLASSES_ROOT->.txttt)->新建->字符串->设置为以下值:
ContentType REG_SZ文本/纯文本

  • 右键单击新创建的键(例如HKEY_CLASSES_ROOT->.txttt)->新建->字符串->设置为以下值:
PerceivedType REG_SZ文本

B.将文件类型与默认程序关联

  • 右键单击文件->打开->选择其他应用程序
  • 选中“始终使用此程序打开”
  • 选择默认程序

新文件类型应使用您选择的默认文本编辑器程序在Windows资源管理器中打开并预览。

我对此不太了解,但我见过一些应用程序使用自定义url方案,如callto:对于skype,这可能是一个更简单的选项?是的,根据我链接的问题,这听起来像是一个自定义协议,要求在遵循该url时运行关联的应用程序。我希望避免这种情况,而是让浏览器/扩展识别MIME类型并启动应用程序。如果可能的话,我会尽量减少客户端安装和资源使用。好建议!可以找到有关注册协议的信息。这可能是我的路线,但我真的想知道如何使用自定义mime类型。
[HKEY_CLASSES_ROOT\.atom]
    @="atom_file"

[HKEY_CLASSES_ROOT\atom_file]
    @="Atom Syndication Program"

[HKEY_CLASSES_ROOT\atom_file\shell]

[HKEY_CLASSES_ROOT\atom_file\shell\open]

[HKEY_CLASSES_ROOT\atom_file\shell\open\command]
    @="\"C:\\AtomHandler\\handle.exe\" %1"

[HKEY_CLASSES_ROOT\MIME\Database\Content Type\application/atom+xml]
    "Extension"=".atom"