45 votes

Désactiver Chrome pour qu'il demande à chaque fois une confirmation pour ouvrir une application externe

Nous avons configuré chrome pour qu'il ouvre tel: liens avec Skype. Sur un ordinateur, il n'ouvre pas directement Skype après avoir cliqué sur un lien téléphonique, mais demande si Skype doit être ouvert (dans une fenêtre contextuelle).

J'ai essayé de réinitialiser Chrome et de changer le gestionnaire pour un autre logiciel afin de vérifier si le problème ne vient pas de Skype. Mais il semble que Chrome demande généralement une confirmation avant d'ouvrir une application externe.

Comment configurer Chrome pour qu'il no demander sans cesse une confirmation ? Ceci est sous Windows 10.

50voto

Scott Dudley Points 655

Cela est désormais possible avec Chrome 79+. Grâce à la Lien Reddit d'après la réponse précédente de @Kropotoff, vous pouvez restaurer l'option "Toujours ouvrir ce type de liens dans l'application associée" en mettant à jour les paramètres de votre système.

Pour Windows :

Appliquer la stratégie de registre "ExternalProtocolDialogShowAlwaysOpenCheckbox".

Vous pouvez également modifier le registre et ajouter un REG_DWORD l'inscription au registre :

Software\Policies\Google\Chrome\ExternalProtocolDialogShowAlwaysOpenCheckbox

Pour macOS :

defaults write com.google.Chrome ExternalProtocolDialogShowAlwaysOpenCheckbox -bool true

Au moins sur Mac, il semble qu'il faille quitter et redémarrer Chrome pour que l'option soit disponible.

Une autre méthode

Au lieu d'activer la case à cocher, de lancer Chrome pour la sélectionner et de s'assurer qu'elle est conservée dans le profil Chrome, il semble également possible d'établir une liste blanche d'URI de gestion de protocole spécifiques via la ligne de commande. Cela est utile pour Selenium et d'autres automatismes, car les URI s'ouvrent sans intervention de l'utilisateur et il n'est pas nécessaire de préconfigurer le navigateur.

En supposant que vos gestionnaires de protocole soient myprotocol1://whatever y myprotocol2://whatever vous pouvez le faire sur Mac. Si vous optez pour cette solution, il semble que vous n'ayez pas besoin de vous préoccuper du réglage de la case à cocher ci-dessus.

defaults write com.google.Chrome URLWhitelist -array 'myprotocol1://*' 'myprotocol2://*' 'myprotocol3://*'

Je n'ai pas essayé sous Windows, mais il semble qu'il y ait des indications sur le site Web de la page de politique d'entreprise pour URLWhitelist .

13voto

yousef yahia Points 131

Solution simple pour Windows : créez un fichier .reg contenant les éléments suivants et exécutez-le :

(Pour Chrome et Chrome Edge)

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome]
"ExternalProtocolDialogShowAlwaysOpenCheckbox"=dword:00000001

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Edge]
"ExternalProtocolDialogShowAlwaysOpenCheckbox"=dword:00000001

5voto

tacoscool Points 51

Solution pour Linux

sudo mkdir -p /etc/opt/chrome/policies/{managed,recommended}
echo '{"ExternalProtocolDialogShowAlwaysOpenCheckbox": true}' | sudo tee /etc/opt/chrome/policies/managed/protocol_open.json > /dev/null

Si vous utilisez chromium au lieu de chrome, utilisez alors /etc/chromium 代わりに /etc/opt/chrome .

Aucun redémarrage n'est nécessaire.

En la documentation des administrateurs de chrome

2voto

Steve Points 21

J'ai trouvé ceci en essayant de résoudre le même genre de problème. Ma nouvelle installation win10 avec chrome actuel me demandait si chrome pouvait ouvrir utorrent, un peu comme ma machine de travail qui me demande d'ouvrir citrix launcher à chaque fois que je démarre une machine virtuelle.

Ce qui a fonctionné pour moi :

Paramètres de Chrome - Paramètres du site - Gestionnaires - N'autoriser aucun site à gérer les protocoles - DÉSACTIVÉ

Ensuite, lorsque je clique sur un lien magnétique, la même boîte de confirmation s'ouvre, mais elle contient une case à cocher permettant de toujours se souvenir de ce choix. Les liens magnétiques suivants s'ouvrent maintenant directement dans utorrent sans notification. Je suppose que l'uri tel : se comporterait de la même manière lors de la sélection de l'application de votre choix. Faites-nous en part !

2voto

user104997 Points 225

Réponse actualisée pour Linux, septembre 2020

Je sais que la question initiale concernait Windows, mais les réponses et les commentaires montrent clairement l'intérêt d'une réponse pour Linux également. Ceci est une mise à jour de @tacoscool répondre qui est très utile, mais qui ne couvre que les ExternalProtocolDialogShowAlwaysOpenCheckbox pour s'assurer que la case à cocher "Toujours ouvert..." est visible.

Si vous souhaitez au contraire ignorer le dialogue pour un certain protocole (par ex. tel:... o org-protocol:... para capturer à l'intérieur Emacs 's Mode Org ) à travers tous sans aucune indication, comme le demande la question initiale, vous devez utiliser la fonction el URLWhitelist politique pour Chrome 85 et les versions antérieures, et URLAllowlist pour Chrome 86 et les versions ultérieures. Si vous êtes sur 85 ou antérieur mais que vous voulez une solution à l'épreuve du temps, vous pouvez combiner les deux dans un seul fichier, par ex.

sudo bash
mkdir -p /etc/opt/chrome/policies/{managed,recommended}
cat <<EOF >/etc/opt/chrome/policies/managed/allow_tel_protocol.json
{
  "URLWhitelist": [
    "tel:*"
  ],
  "URLAllowlist": [
    "tel:*"
  ]
}
EOF

On peut supposer que ce fichier pourrait être placé dans /etc/opt/chrome/policies/recommended 代わりに /etc/opt/chrome/policies/managed mais je ne l'ai pas testé.

Vous pouvez vérifier que ces fichiers ont un effet correct en visitant le site suivant chrome://policy .

Notez qu'il s'agit d'une politique qui prendra effet pour tous les utilisateurs. Si vous voulez la définir pour chaque utilisateur, je pense que vous devez trouver la clé équivalente dans le fichier JSON des préférences du profil de l'utilisateur, qui est typiquement ~/.config/google-chrome/Default/Preferences ou similaire sous Linux. D'après autres postes Il devrait suffire de s'assurer que l'on a quelque chose comme

"protocol_handler":{"excluded_schemes":{"tel":false}}

dans ce Preferences (je me demande pourquoi c'est false no true mais bon, peu importe...). Cependant, lorsque j'ai fermé Chrome, modifié le fichier et redémarré Chrome, ce paramètre a été automatiquement supprimé à chaque fois. Peut-être que je faisais quelque chose de mal, ou peut-être que cela ne fonctionne plus - je suis sur Chrome 85.

Enfin, si vous souhaitez réaliser la même chose dans Chromium ou Brave, remplacez toutes les mentions ci-dessus de /etc/opt/chrome con /etc/chromium

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X