Assurez-vous que l’option Ouvrir tous les liens externes dans un nouvel onglet est cochée dans /my/preferences/interface sous les options d’interface Autres (C’est le réglage par défaut, de toute façon).
Trouvez n’importe quel message contenant un lien externe – exemples aléatoires dans meta et dans try.
Cliquez sur le premier lien externe que vous trouvez dans ce message (de préférence le même).
Il s’ouvre dans un nouvel onglet, bien.
MAIS :
Assurez-vous que l’option Ouvrir tous les liens externes dans un nouvel onglet est cochée dans /my/preferences/interface sous les options d’interface Autres (C’est le réglage par défaut, de toute façon).
Ouvrez le même message que le test précédent.
Sélectionnez n’importe quel texte dans ce message (1+ lettre, 1+ mot, toute sélection fera l’affaire) – Vous devriez voir un bouton flottant Citer.
Cliquez sur le premier lien externe que vous trouvez dans ce message.
Maintenant, le lien externe s’ouvre dans l’onglet actuel, au lieu d’un nouvel onglet.
En fait, vous pouvez simplement essayer avec ce message ici :
Je peux confirmer. Je ne suis pas entièrement sûr que cela vaille la peine d’être corrigé, car il semble s’agir d’un cas limite, où l’utilisateur cherche des ennuis.
Si vous n’avez pas les compétences pour soumettre une PR (je ne pense pas en avoir), alors utiliser simplement Ctrl+clic pour ouvrir dans un nouvel onglet fonctionnera, ce n’est pas difficile à automatiser, et cela résoudra le problème sur tous les sites, même ceux qui n’ouvrent pas les liens dans de nouveaux onglets.
J’utiliserais Ctrl+clic, mais nous avons cette belle option, appelée Ouvrir tous les liens externes dans un nouvel onglet.
Mais ce que cette option fait réellement, c’est Ouvrir des liens externes aléatoires dans un nouvel onglet.
Il m’a fallu des mois, voire des années, pour identifier un schéma de reproduction.
Cela me semblait vraiment aléatoire.
Peut-être supprimer cette option, pour un comportement cohérent ?
Je me souviens avoir essayé de configurer un environnement de développement Discourse pour un simple problème de CSS PR.
Mais, si je me souviens bien, j’ai abandonné parce que mon PC était trop vieux et que je ne pouvais pas installer ou exécuter toutes les exigences.
Mon nouvel ordinateur portable professionnel a maintenant apparemment l’hyperthreading activé* donc je vais voir si je peux suivre les nouvelles instructions, sans droits d’administrateur.
wmic CPU Get NumberOfCores,NumberOfLogicalProcessors affiche plus de cœurs logiques que de cœurs physiques.
J’espère que cela aide, je ne l’ai pas encore vraiment testé mais cela semble fonctionner correctement.
Modification : user-select: text devrait être ajouté au lien car non seulement le texte sélectionné .cooked l’affecte, mais tout texte sélectionné sur le site. J’ai modifié le code.
Merci Sam, je l’ai juste testé de plus près avant de soumettre et il semble que cela ne suffise malheureusement pas. Cette solution ne fonctionne qu’avec Chrome.
Voici le morceau de code qui cause le bug (provenant de app/assets/javascripts/discourse/app/lib/click-track.js)
// Annuler le clic s'il est déclenché dans le cadre d'une sélection.
const selection = window.getSelection();
if (selection.type === "Range" || selection.rangeCount > 0) {
if (selectedText() !== "") {
return true;
}
}
La suppression de ce code résout le problème et ne semble pas casser les tests (j’ai d’ailleurs des tests qui échouent avant et après le changement, mais apparemment aucun nouveau).
Je me demande donc si ce code fait quelque chose d’utile, car une chose est sûre, il ne fait pas ce qu’il est censé faire, sinon le rapporteur de bug ne suivrait aucun lien lors d’un « sélectionner + cliquer », mais ce n’est pas sa plainte.
Quelqu’un peut-il expliquer ce que ce code est censé accomplir ?
Je me souviens vaguement qu’il existait une solution de contournement pour un navigateur spécifique, peut-être essayez-vous dans Safari/Firefox/Chrome avec une sélection pour voir si l’un d’eux la déclenche ?
Je n’ai accès qu’à la plateforme Windows pour les tests.
cette correction peut être testée facilement car le fichier peut être collé en entier dans la console.
@sam, savez-vous quel fichier nous devrions coller dans la console après avoir chargé une page de sujet ? @Aleksey_Bogdanov, pourriez-vous fournir ce fichier et je pourrais le coller dans mes consoles Vivaldi, Firefox, Android 9 Kiwi sous Windows, et vous pourriez le coller dans votre Safari iOS, Mac OS.