Öffnen Sie die Adresse in einer externen Anwendung in Chrome Browser

4262
cipricus

enter image description here

Nachdem der Chrome-Browser NPAPI-basierte Erweiterungen (die Addons für diesen Zweck enthielten, ähnlich wie Openwith und Flashgot von Firefox) aufgegeben haben, gibt es eine Möglichkeit, einen Link vom Browser an eine externe Anwendung (wie andere Browser, einen Videoplayer oder eine benutzerdefinierte Anwendung) zu senden Downloader usw.)?

Dieses NPAPI-Addon wird einfach so genannt: "Mit externer Anwendung öffnen".

Gibt es eine Alternative zu dieser Änderung?

1
[meine installierte Anwendung über den Chrome-Browser starten] (http://stackoverflow.com/q/23516816/4098390) und auch: [Externe Anwendung über eine Google Chrome-Erweiterung starten?] (http://stackoverflow.com/q/) 2652094/4098390) cipricus vor 7 Jahren 0

2 Antworten auf die Frage

2
harrymc

Eine externe Anwendung kann nicht mehr direkt über eine dedizierte Erweiterung in Chrome aufgerufen werden, aber ich konnte keine finden, die NPAPI nicht verwendet.

Es gibt immer noch eine Methode, die funktionieren sollte, die im Betriebssystem eingerichtet werden muss: Benutzerdefinierte Protokolle, die auch als benutzerdefinierte URI-Schemas bezeichnet werden.

Ein URI-Schema ist der Teil, den Sie am Anfang der URL finden. Einige häufigsten sind: http(s)://, ftp://, feed://, mailto:, news:. Die Liste aller bekannten finden Sie in der IANA-Liste der URI-Schemata (Uniform Resource Identifier) .

Diese Protokolle starten lediglich eine Anwendung, die den Parameter verarbeitet. Nachdem die Anwendung erfolgreich gestartet wurde, kann sie mithilfe der Befehlszeilenparameter den URI abrufen, mit dem sie gestartet wurde. Die übliche Methode ist, ein bekanntes Skript aufzurufen, das sein Argument verarbeitet und das erforderliche Programm startet.

Hier ist ein Tutorial für Windows, Linux und Mac viel zu umfangreich, aber hier sind einige nützliche Hinweise:


Zur Beantwortung der Anfrage durch das Poster ist unten ein Linux-KDE-Skript angegeben, das /path/progals Protokoll für das Protokoll festgelegt wird xyz://. Es erstellt für KDE die Datei $KDEDIR/share/services/xyz.protocolund füllt sie aus. Die Gnome-Einstellungen werden ebenfalls festgelegt (sofern möglich), da einige Anwendungen sie auch dann verwenden, wenn sie unter KDE ausgeführt werden. Das Skript wurde von Github angepasst .

#!/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." 
Bis zur Veröffentlichung neuer Erweiterungen sind die angeführten Lösungen betriebssystemspezifisch und erfordern ein Maß an Kompetenz, das außerhalb meiner Reichweite liegt. Ich benutze meistens Linux. Ich denke, ich muss warten, bis Nicht-Npapi-Erweiterungen veröffentlicht werden (ich wandere ab, warum es so lange dauert, die Nachfrage muss riesig sein). cipricus vor 7 Jahren 0
Ich kann die erforderlichen Schritte für Linux auflisten. Welche Linux-Version verwenden Sie KDE oder Gnome (und welche Gnome-Version)? harrymc vor 7 Jahren 0
Das wäre toll! Ich verwende mehrere Linux-Es, aber mein Haupt ist KDE (Mint 18 with Plasma 5). cipricus vor 7 Jahren 0
Ich habe ein Bash-Skript hinzugefügt, das die Aufgabe erfüllen kann. Ich kann nicht testen, also mache ich es theoretisch. harrymc vor 7 Jahren 0
Ich gebe die Prämie für jetzt. Ich werde aber keine endgültige Antwort geben. Ich war auf der Suche nach einer vorgefertigten Erweiterung oder möglicherweise einem Benutzer-Skript in Tempermonkey, das erlaubt, was ich frage. Ich habe keine Ahnung, wie Sie Ihr Skript verwenden, ich würde viel mehr Details benötigen. (Gespeichert wurden wie gestartet, wie ist es in Chrome verfügbar?) cipricus vor 7 Jahren 0
Dieses einmalige Skript wird mit sudo gestartet, nachdem die Parameter für "protocol" und "handler" festgelegt wurden. Damit können Sie ein Programm / Skript mit dem Link als Parameter starten. Sie sollten die von mir angegebenen Links studieren, um herauszufinden, wie Sie benutzerdefinierte URIs verwenden. Ein Userscript ist sicherlich möglich, wenn Sie eine genaue Vorstellung haben, was geändert werden soll. Gehen Sie langsam und google für weitere Details, während Sie vorrücken. harrymc vor 7 Jahren 0
0
Sanny

Leider hat Chrome keinen Einfluss darauf, welches Programm gestartet wird, wenn bestimmte URLs oder Protokolle eingegeben werden. Dies wird von Windows entschieden, es sei denn, ein Programm Ihrer Wahl kann ein neues Protokoll hinzufügen und sich damit verbinden.

Wenn Sie beispielsweise utorrent installiert und die Standardeinstellungen beibehalten haben, wird es automatisch geöffnet, wenn Sie auf diesen Link klicken: magnet:? Xt = urn: btih: c12fe1c06bba254a9dc9f519b335aa7c1367a88a & dn . In Firefox werden Sie zwar aufgefordert, Ihre bevorzugten Programme auszuwählen, Chrome wird jedoch nicht dasselbe tun.

Ich denke nicht, dass Browser normalerweise diese Funktion haben, aber mit einem Addon sollte es möglich sein. Es gab solche Addons, die nicht mehr funktionieren. cipricus vor 7 Jahren 0
Beispiel: https://chrome.google.com/webstore/detail/open-with-external-applic/hccmhjmmfdfncbfpogafcbpaebclgjcp cipricus vor 7 Jahren 0