Зарегистрируйте приложение по протоколу URL (все браузеры) через установщик

Я знаю, что это возможно с помощью простого изменения реестра, чтобы достичь этого, пока используется IE / firefox. Однако мне интересно, есть ли надежный способ сделать это для других браузеров,

Я специально ищу способ сделать это с помощью установщика, поэтому редактирование предпочтений в конкретном браузере не приведет к его сокращению.

13.12.2008 05:34:51
3 ОТВЕТА

Да. Вот как это сделать с FireFox:

http://kb.mozillazine.org/Register_protocol

и опера:

http://www.opera.com/support/kb/view/535/

3
13.12.2008 06:16:01
ссылка на оперу требует от пользователя настроить браузер, я ищу что-то, что я могу настроить во время установки. Я только что отредактировал вопрос, чтобы уточнить.
Greg Dean 14.12.2008 04:42:13
РЕШЕНИЕ

Вот лучшее, что я могу придумать:

IE : http://msdn.microsoft.com/en-us/library/aa767914(VS.85).aspx

FireFox : http://kb.mozillazine.org/Register_protocol

Chrome : поскольку каждый другой браузер поддерживает такое же соглашение, я создал ошибку для Chrome.

Opera : я не могу найти какую-либо документацию, но, похоже, она использует тот же метод, что и IE / Firefox (см. Ссылки выше)

Safari : То же самое, что и опера, она работает, но я не могу найти документацию по ней

5
8.02.2009 20:52:45
У меня вообще не работает в Safari, см. Также caniuse.com/#feat=registerprotocolhandler
sebilasse 19.03.2016 10:57:09

Если кто-то выглядит как решение для веб-сайта интрасети (для всех браузеров, а не только для IE), которое содержит гиперссылки на папки общего сервера (как в моем случае), это возможное решение:

  1. протокол регистрации (схема URI) через реестр (это может быть сделано для всех корпоративных пользователей, я полагаю). Например, схема «myfile:». (спасибо ответу Грега Дина)
  2. Атрибут гиперссылки href должен выглядеть следующим образом

    <a href='myfile:\\mysharedserver\sharedfolder\' target='_self'>Shared server</a>
    
  3. Напишите консольное приложение, которое перенаправляет аргумент в проводник Windows (см. Шаг 1 для примера такого приложения)

Это часть моего тестового приложения:

const string prefix = "myfile:";

static string ProcessInput(string s)
{
    // TODO Verify and validate the input 
    // string as appropriate for your application.
    if (s.StartsWith(prefix))
        s = s.Substring(prefix.Length);

    s = System.Net.WebUtility.UrlDecode(s);

    Process.Start("explorer", s);

    return s;
}

Я думаю, что это приложение может быть легко установлено вашими администраторами для всех пользователей интранета :)

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

3
27.03.2018 06:37:13