Зарегистрируйте приложение по протоколу URL (все браузеры) через установщик - PullRequest
5 голосов
/ 13 декабря 2008

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

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

Ответы [ 3 ]

5 голосов
/ 08 февраля 2009

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

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 : То же самое, что и опера, она работает, но я не могу найти какую-либо документацию по ней

2 голосов
/ 27 марта 2018

Если кто-то выглядит как решение для веб-сайта интрасети (для всех браузеров, не только 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;
}

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

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

2 голосов
/ 13 декабря 2008

Да. Вот как это сделать с помощью FireFox:

http://kb.mozillazine.org/Register_protocol

и Опера:

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

...