Открыть адрес во внешнем приложении из браузера Chrome

Введите описание изображения здесь

После того как браузер Chrome отказался от расширений на основе NPAPI (в том числе для этой цели были добавлены аддоны, похожие на Openwith и Flashgot из Firefox), есть способ отправки ссылки из браузера во внешнее приложение (например, другой браузер, видеопроигрыватель, пользовательский Загрузчик и т. Д.)?

Этот NPAPI-аддон называется так: «Открыть с помощью внешнего приложения».

Есть ли альтернатива этому с учетом изменений, которые произошли?

Нельзя больше напрямую обращаться к Chrome с внешним приложением, кроме как через выделенное расширение, но я не мог найти тот, который не использует NPAPI.

Существует еще один метод, который должен работать, который должен быть настроен в операционной системе: пользовательские протоколы, называемые также настраиваемыми схемами URI.

Схема URI – это та часть, которую вы найдете в начале URL-адреса. Некоторые из них: http(s):// , ftp:// , feed:// , mailto: news: Список всех известных можно найти в списке IANA Uniform Resource Identifier (URI) .

Все, что делают эти протоколы, это запустить приложение, которое обрабатывает параметр. После успешного запуска приложения он может использовать параметры командной строки для получения URI, который запустил его. Обычный метод – вызвать известный скрипт, который обрабатывает свой аргумент и запускает нужную программу.

В том числе здесь учебник для Windows, Linux и Mac слишком тяжел, но вот несколько полезных ссылок:

  • Регистрация приложения в схеме URI – для Windows
  • Как запускать внешние приложения с использованием пользовательских протоколов – для Windows и Linux
  • Запуск внешних приложений с использованием пользовательских протоколов под OSX

Чтобы ответить на запрос плаката, ниже приведен сценарий Linux KDE, который устанавливает /path/prog как обработчик для протокола xyz:// . Он создает для KDE файл $KDEDIR/share/services/xyz.protocol и заполняет его. Настройки Gnome также установлены (если возможно), поскольку некоторые приложения все еще используют их, даже если они работают в KDE. Сценарий адаптирован из github .

 #!/usr/bin/env bash # # This script attempts to register a protocol handler for # links that look like sgaction://blah. # # It should be sufficient for gnome apps like pidgin and kde apps # like konqueror. Firefox seems to pay attention to the gnome # settings at least to the degree that it recognizes links of the # form $protocol://blah as hot-links, but it may still ask you to # select the application the first time you click on one. protocol=xyz handler="/path/prog" echo "Installing $protocol protocol handler for Gnome." gconfTool="$(which gconftool-2)" if [[ "$gconfTool" ]]; then gconftool-2 --set --type=string /desktop/gnome/url-handlers/$protocol/command "$handler \"%s\"" gconftool-2 --set --type=bool /desktop/gnome/url-handlers/$protocol/enabled true gconftool-2 --set --type=bool /desktop/gnome/url-handlers/$protocol/need-terminal false else echo "WARNING: gconftool-2 not found: skipping gnome url-handler registration." fi echo "Installing $protocol protocol handler for KDE." kdeProtoDir=~/.kde/share/services if [[ "$KDEDIR" ]]; then kdeProtoDir="$KDEDIR/share/services" fi if [[ ! -e "$kdeProtoDir" ]]; then mkdir -p "$kdeProtoDir" fi if [[ -e "$kdeProtoDir" ]]; then kdeProtoFile="$kdeProtoDir/$protocol.protocol" rm -f $kdeProtoFile cat > $kdeProtoFile << EOF [Protocol] exec=$handler "%u" protocol=$protocol input=none output=none helper=true listing=false reading=false writing=false makedir=false deleting=false EOF else echo "WARNING: can't find or create KDE protocol directory: $kdeProtoDir: skipping KDE url-handler registration." fi echo "Done." 

К сожалению, Chrome не контролирует, какую программу запускать при вводе некоторых определенных URL-адресов или протоколов. Это определяется Windows, если программа вашего выбора не имеет возможности добавлять новый протокол и ассоциироваться с ним.

Например, если вы установили utorrent и оставили свои настройки по умолчанию, он откроется, когда вы нажмете эту ссылку: magnet:? Xt = urn: btih: c12fe1c06bba254a9dc9f519b335aa7c1367a88a & dn . На самом деле в Firefox вам будет предложено выбрать ваши предпочтительные программы, но Chrome не будет делать то же самое.

  • Синхронизация / резервное копирование конфигурации расширений Chrome для повторного использования
  • Проблемы с отображением и публикациями расширений Chrome
  • Как настроить внешний вид веб-сайтов в Chrome?
  • Как индивидуально отключить звук на вкладке в Chrome или Firefox?
  • Захват большого скриншота веб-страницы в Chrome
  • Резервные расширения, закладки и другие настройки из Google Chrome
  • Как запретить Chrome Canary обновлять -OR- Как мне синхронизировать два профиля Chrome с одной учетной записью?
  • Как я могу поделиться сценариями Tampermonkey между версиями Chrome?
  • Интернет-магазин Chrome не поддерживает Chromium на Debian «Squeeze» или других очень старых версиях Chrome. Каков обходной путь?
  • Как удалить файлы cookie для определенного сайта
  • Есть ли способ заблокировать все расширения на некоторых вкладках в Chrome?
  • Interesting Posts
    Давайте будем гением компьютера.