Как мне создать собственный протокол, который бы всегда открывал адрес в определенном браузере? - PullRequest
1 голос
/ 17 июня 2011

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

Проблема в том, что Firefox и Chrome не позволяют этого по соображениям безопасности. Поэтому я пытаюсь написать собственный протокол для открытия адреса в Internet Explorer независимо от используемого браузера.

Может кто-нибудь помочь мне с этим? Я также хотел бы попробовать альтернативное решение проблемы.

Ответы [ 2 ]

0 голосов
/ 17 июня 2011

Я не уверен, понимаю ли я ваш вопрос, если это как открыть локальные файлы с помощью chrome / firefox, это ваш ответ:

Сначала отказ от ответственности, я никогда не делал этого и не могу ручаться за точность моего ответа

IE

Модель безопасности Microsoft довольно неудачна, поэтому вы можете пойти дальше и открыть эти файлы

FireFox

Некоторое быстрое поиск в Google обнаружил, что Firefox может сделать это после редактирования prefs.js, как указано здесь , или установки дополнения с именем LocalLink

Chrome

Практически невозможно из-за своей безопасности, до сих пор , когда locallink был портирован на Chrome.

0 голосов
/ 17 июня 2011

Ниже работает для меня, это то, что вы имеете в виду?

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\foo]
@="URL: foo Protocol"
"URL Protocol"=""

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\foo\DefaultIcon]
@="C:\\Program Files (x86)\\Internet Explorer\\iexplore.exe"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\foo\shell]

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\foo\shell\open]

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\foo\shell\open\command]
@="C:\\Program Files (x86)\\Internet Explorer\\iexplore.exe \"%1\""

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

И если это не сработает, создайте прокси между протоколом и браузером, передайте аргумент (ы) из foo://, проанализируйте все, что необходимо, а затем передайте его в IE, используяstart iexplorer.exe "args".

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