Как мне настроить собственный обработчик протокола в Chrome? Что-то типа:
myprotocol: // тестовый файл
Мне это нужно, чтобы отправить запрос на http://example.com?query=testfile , а затем отправить httpresponse на мое расширение.
google-chrome-extension
custom-protocol
Тестовый тестер
источник
источник
Ответы:
Следующий метод регистрирует приложение в схеме URI. Итак, вы можете использовать mycustproto: в своем HTML-коде для запуска локального приложения. Он работает на Google Chrome версии 51.0.2704.79 м (64-бит).
Я в основном использовал этот метод для печати документа без вывода сообщений о печати. Результат довольно хороший и представляет собой простое решение для интеграции внешнего приложения с браузером.
HTML-код (простой):
HTML-код (альтернатива):
Схема URI будет выглядеть так:
Вы можете создать схему URI вручную в реестре или запустить файл «mycustproto.reg» (см. Ниже).
Пример mycustproto.reg:
Консольное приложение C # - myprogram.exe:
Попробуйте сначала запустить программу, чтобы убедиться, что программа находится по правильному пути:
Щелкните ссылку на своей HTML-странице:
Вы впервые увидите всплывающее окно с предупреждением.
Чтобы сбросить настройку внешнего обработчика протокола в Chrome:
Если вы когда-либо принимали собственный протокол в Chrome и хотели бы сбросить настройки, сделайте это (в настоящее время в Chrome нет пользовательского интерфейса для изменения настройки):
Отредактируйте этот файл " Local State " по этому пути:
или просто перейдите по ссылке:
Затем найдите эту строку: protocol_handler
Оттуда вы увидите пользовательский протокол.
Примечание. Закройте Google Chrome перед редактированием файла. В противном случае внесенное вами изменение будет перезаписано Chrome.
Справка:
https://msdn.microsoft.com/en-us/library/aa767914(v=vs.85).aspx
источник
Preferences
%localappdata%\Google\Chrome\User Data\Default
Chrome 13 теперь поддерживает
navigator.registerProtocolHandler
API. Например,Обратите внимание, что имя вашего протокола должно начинаться с
web+
, за некоторыми исключениями для общих (напримерmailto
, и т. Д.). Для получения дополнительной информации см. Http://updates.html5rocks.com/2011/06/Registering-a-custom-protocol-handler.источник
torrent:
иsteam:
ссылки работают? Есть ли это ограничение в пакетных приложениях Chrome?chrome.webNavigation
APItel:
ссылки никогда не передаются.Этот вопрос сейчас старый, но недавно было обновление Chrome (по крайней мере, когда речь идет о пакетных приложениях) ...
http://developer.chrome.com/apps/manifest/url_handlers
а также
https://github.com/GoogleChrome/chrome-app-samples/tree/master/samples/url-handler
Он позволяет вам зарегистрировать обработчик URL-адреса (если он принадлежит вам). К сожалению, нет,
myprotocol://
но, по крайней мере, вы можете сделатьhttp://myprotocol.mysite.com
и можете создать там веб-страницу, которая будет указывать людям на приложение в магазине приложений.источник
Вот как я это сделал. Ваше приложение должно будет установить несколько ключей reg при установке, затем в любом браузере вы можете просто указать ссылку на foo: \ somethingHere.txt, и оно откроет ваше приложение и передаст ему это значение.
Это не мой код, это просто то, что я нашел в Интернете при поиске того же вопроса. Просто замените все «foo» в тексте ниже на имя протокола, которое вы хотите, и также измените путь к вашему exe.
(поместите это в текстовый файл как файл foo.reg на рабочем столе, затем дважды щелкните его, чтобы установить ключи) ----- Эта строка переходит в файл .reg (НЕ включая эту строку) --- ---
источник
Не уверен, что это подходящее место для моего ответа, но поскольку я нашел очень мало полезных тем, и это была одна из них, я публикую здесь свое решение.
Проблема : я хотел, чтобы Linux Mint 19.2 Cinnamon открывал Evolution при нажатии на
mailto
ссылки в Chromium. Gmail был зарегистрирован как обработчик по умолчанию в chrome: // settings / handlers, и я не мог выбрать другой обработчик.Решение : используйте xdg-settings в консоли
Решение было найдено здесь https://alt.os.linux.ubuntu.narkive.com/U3Gy7inF/kubuntu-mailto-links-in-chrome-doesn-t-open-evolution и адаптировано для моего случая.
источник
открытым
откройте,
Preferences
затемexcluded_schemes
выполните поиск, вы найдете его в 'protocol_handler', удалите эту исключенную схему (ы), чтобы сбросить Chrome, чтобы открыть URL-адрес с приложением по умолчаниюисточник