Как связать собственный MIME-тип с моим локальным приложением в основных браузерах?

Я хочу придумать новый тип mime и связать его с настраиваемым приложением в браузере, чтобы пользователи могли запускать мое приложение с веб-страницы. Пользователи моего защищенного веб-сайта находятся в закрытой среде, то есть это не основное, основное приложение - я могу настроить их браузер раньше времени.

Spoon.net делает что-то очень похожее, чтобы включить запуск виртуализированных приложений с помощью своего плагина с мини-ядром.

Один из ответов на этот вопрос ссылался на этот метод, без подробностей о том, как его выполнить.

Как я могу достичь этого кросс-платформенным способом в Chrome и IE 8/9? Есть ли способ сделать ассоциацию типа mime через расширения браузера, как на родной, так и через crossrider? Как такое приложение, как Adobe Reader или Apple Quicktime, достигает этого? Я хочу, чтобы избежать прикосновения к реестру, если это возможно.

Каковы риски, связанные с этим методом? Мой сайт - это веб-приложение интрасети, защищенное сертификатом и доверенное моим пользователям. По какой-то причине я не должен идти по этому пути?

РЕДАКТИРОВАТЬ. По-видимому, это можно сделать в Firefox, манипулируя файлом mimeTypes.rdf.

EDIT: выглядит как JDIC - это Java-механизм, который можно использовать для то же самое. Есть ли аналогичная конструкция, отличная от Java? Может быть, в Javascript?

Ответ 1

Похоже, это можно сделать с помощью изменения реестра в окнах.

[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"

Дальнейшее чтение в Windows...

И здесь как это сделать в Linux.

Использовать xdg-utils из freedesktop.org Portland