Обнаружение зарегистрированных протоколов в Windows с веб-страницы с помощью IE - PullRequest
0 голосов
/ 14 сентября 2010

Программы для MS Windows могут ассоциировать с ними некоторые протоколы.Поэтому, когда вы нажимаете в браузере, открывается зарегистрированная программа для протокола «myprotocol».Как "mailto: mail@mail.ru" открывает вашу почтовую программу.

У меня есть веб-сайт, и я хочу знать, зарегистрировал ли посетитель моего веб-сайта какой-либо протокол в его системе или нет.Поэтому, когда он нажимает на ссылку и у него нет зарегистрированного протокола, появляется страница типа «Пожалуйста, установите мою программу».В противном случае зарегистрированная программа запускается.Как я могу сделать это с помощью javascript или avtiveX или чего-то еще?

Я знаю, как это сделать для Firefox и Crome (используя заголовок «Location» и iframe), но не знаю, как это сделать для IEи опера.Пожалуйста, помогите мне.

Ответы [ 2 ]

0 голосов
/ 14 сентября 2010

Прямое обнаружение произвольных протоколов в IE в настоящее время невозможно, потому что мы продолжаем сокращать мой предложенный API для этого.В настоящее время для этой цели вы должны использовать элемент управления ActiveX.

Для определенных протоколов вам просто нужно зарегистрировать свой компонент с вектором версии, который затем можно определить с помощью условных комментариев: http://msdn.microsoft.com/en-us/library/ms537512(VS.85).aspx

0 голосов
/ 14 сентября 2010

Я делал подобные вещи однажды.В установщике я зарегистрировал ключ MyProgram.IsInstalled в HKEY_CLASSES_ROOT с тем же CLSID, что и Scripting.Dictionary.Затем в JavaScript я попытался сделать var isInstalled = new ActiveXObject("MyProgram.IsInstalled");.Если это работало, моя программа была установлена ​​(и у меня был удобный новый экземпляр Scripting.Dictionary, который я быстро выбросил).Если это не так, ну, это не так.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...