<p>Cela peut désormais être fait avec Chrome 79+. Grâce au <a href="https://www.reddit.com/r/chrome/comments/d3v4yr/dont_ask_again_checkbox_on_popups_not_available/">lien Reddit</a> de la réponse précédente de <span class="mention">@Kropotoff</span>, vous pouvez restaurer l’option « Toujours ouvrir ces types de liens dans l’application associée » en mettant à jour vos paramètres système.</p>
<p><strong>Pour Windows :</strong></p>
<p><a href="https://cloud.google.com/docs/chrome-enterprise/policies/?policy=ExternalProtocolDialogShowAlwaysOpenCheckbox">Appliquez la stratégie de registre « ExternalProtocolDialogShowAlwaysOpenCheckbox »</a></p>
<p>Ou modifiez le registre et ajoutez une entrée de registre <strong>REG_DWORD</strong> à :</p>
<pre><code class="lang-auto">Software\Policies\Google\Chrome\ExternalProtocolDialogShowAlwaysOpenCheckbox
</code></pre>
<p><strong>Pour macOS :</strong></p>
<pre><code class="lang-auto">defaults write com.google.Chrome ExternalProtocolDialogShowAlwaysOpenCheckbox -bool true
</code></pre>
<p>Au moins sur Mac, il semble que vous deviez quitter et redémarrer Chrome avant que l’option ne devienne disponible.</p>
<p><strong>Autre méthode</strong></p>
<p>Comme alternative à l’activation de la case à cocher, puis au lancement de Chrome pour sélectionner la case et s’assurer qu’elle est conservée dans le profil Chrome, il semble également possible de mettre en liste blanche des URI de gestionnaires de protocole spécifiques via la ligne de commande. Ceci est utile pour Selenium et autres automatisations, signifiant que les URI s’ouvrent sans intervention de l’utilisateur et que vous n’avez pas besoin de préconfigurer le navigateur.</p>
<p>En supposant que vos gestionnaires de protocole sont <code>myprotocol1://whatever</code> et <code>myprotocol2://whatever</code>, vous pouvez faire ceci sur Mac. Si vous choisissez cette voie, il ne semble pas nécessaire de vous soucier du paramètre de case à cocher ci-dessus.</p>
<pre><code class="lang-auto">defaults write com.google.Chrome URLAllowlist -array 'myprotocol1://' 'myprotocol2://' 'myprotocol3://*'
</code></pre>
<p>Le nom « URLAllowlist » est supporté à partir de Chrome 85 et il est requis pour Chrome 100+ ; les versions antérieures de Chrome (15-85) supportaient aussi « URLWhitelist » à la place de « URLAllowlist », mais URLWhitelist a été déprécié puis supprimé.</p>
<p>Je n’ai pas essayé cela sous Windows, mais il semble qu’il y ait des indications sur la <a href="https://chromeenterprise.google/policies/?policy=URLAllowlist">page de stratégie d’entreprise pour URLAllowlist</a>.</p>