Как настроить реестр Windows с помощью URL-обработчика для настраиваемого протокола для запуска Firefox и открытия реального URL
У нас есть программа CTI, которая использует IE-Framework и открывает ее содержимое в Internet Explorer. Мы хотели бы использовать Firefox вместо IE, но разработчики отказываются что-либо менять.
Поэтому я подумал об URL-обработчике.
Программа CTI использует URL-адрес как https:://software/database/profile=%1.php
Я могу сказать программе использовать URL-обработчик.
Таким образом, готовый URL будет выглядеть workaround:https:://software/database/profile=%1.php
Я сделал эти записи реестра:
Редактор реестра Windows, версия 5.00
[HKEY_CLASSES_ROOT\workaround]
@="URL:workaround Protocol"
"URL Protocol"=""
[HKEY_CLASSES_ROOT\workaround\shell]
[HKEY_CLASSES_ROOT\workaround\shell\open]
[HKEY_CLASSES_ROOT\workaround\shell\open\command]
@="\"C:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe\" "%1"
При открытии workaound:google.de
Firefox открывает бесконечное количество вкладок.
То же самое с workaround:"google.de"
Открытие обходного пути: без чего-либо открывает Firefox без страницы
Конечно, я мог бы добавить URL в реестр, но программа выдает переменную в зависимости от записи базы данных, которую вызывает.
У кого-нибудь есть представление о том, какой параметр нужен Firefox?
Заранее спасибо
1 ответ
Параметры командной строки Firefox можно найти в MDN в разделе Параметры командной строки. Указание URL может быть сделано с или без -url
вариант. При желании вы можете явно открыть URL в новой вкладке (-new-tab
) или новое окно (-new-window
). Если не использовать ни один из этих параметров, используется текущее значение по умолчанию, указанное пользователем в настройках.
Тем не менее, одной из проблем является то, что следующая строка имеет непревзойденную кавычку: @="\"C:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe\" "%1"
Есть 5 "
символы на линии. В большинстве случаев я ожидаю, что вам понадобится четное число. Вы, вероятно, предполагали, что строка будет: @="\"C:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe\" \"%1\""
Кроме того, на основании информации, полученной при регистрации приложения в схеме URI, выясняется, что URL, который вы передаете в Firefox: workaound:google.de
Другими словами, в том числе workaround:
, Firefox, конечно, не знает, как обращаться с workaround:
протокол. Вам понадобится промежуточный шаг / программа / скрипт для удаления workaround:
с URL, переданного в Firefox. Есть много разных способов, которыми вы могли бы сделать это. То, что вы выберете, будет зависеть от вашей среды и инструментов, с которыми вы предпочитаете работать.
В целях отладки вы можете временно использовать исполняемый файл, отличный от Firefox, который позволит вам точно видеть командную строку, которую вы передаете в Firefox.
Что касается того, как предварительно проанализировать аргумент для удаления workaround:
, следующий вопрос и ответы должны дать вам отправную точку:
Запускать.bat файлы из пользовательского обработчика URL, не показывая окно консоли