Stellen Sie sicher, dass die Option Alle externen Links in einem neuen Tab öffnen unter /my/preferences/interfaceAndere Interface-Optionen aktiviert ist (es scheint sowieso die Standardeinstellung zu sein).
Suchen Sie einen beliebigen Beitrag mit einem externen Link – zufällige Beispiele in meta und in try.
Klicken Sie auf den ersten externen Link, den Sie in diesem Beitrag finden (vorzugsweise denselben).
Er öffnet sich in einem neuen Tab, gut.
ABER:
Stellen Sie sicher, dass die Option Alle externen Links in einem neuen Tab öffnen unter /my/preferences/interfaceAndere Interface-Optionen aktiviert ist (es scheint sowieso die Standardeinstellung zu sein).
Öffnen Sie denselben Beitrag wie im vorherigen Test.
Wählen Sie einen beliebigen Text in diesem Beitrag aus (1+ Buchstabe, 1+ Wort, jede Auswahl ist in Ordnung) – Sie sollten eine schwebende Zitat-Schaltfläche sehen.
Klicken Sie auf den ersten externen Link, den Sie in diesem Beitrag finden.
Jetzt öffnet sich der externe Link im aktuellen Tab, anstatt in einem neuen Tab.
Tatsächlich können Sie es einfach mit diesem Beitrag hier versuchen:
Ich kann bestätigen. Ich bin mir nicht ganz sicher, ob es sich lohnt, das zu beheben, da es sich um einen Grenzfall zu handeln scheint, bei dem der Benutzer Ärger sucht.
Wenn Sie nicht die Fähigkeiten haben, einen PR einzureichen (ich glaube nicht, dass ich das habe), dann funktioniert die Verwendung von Strg-Klick, um in einem neuen Tab zu öffnen, ist nicht schwer zu automatisieren und löst das Problem auf jeder Website, auch auf denen, die Links nicht in neuen Tabs öffnen.
Ich würde Strg+Klick verwenden, aber wir haben diese nette Option, namens Alle externen Links in einem neuen Tab öffnen.
Aber was diese Option tatsächlich tut, ist Zufällige externe Links in einem neuen Tab öffnen.
Es hat Monate, wenn nicht Jahre gedauert, bis ich ein Reproduktionsschema gefunden habe.
Es kam mir wirklich zufällig vor.
Vielleicht diese Option entfernen, für ein konsistentes Verhalten?
Ich erinnere mich, dass ich versucht habe, eine Discourse-Entwicklungsumgebung für einen einfachen CSS-Problem-PR einzurichten.
Aber, wenn ich mich richtig erinnere, habe ich aufgegeben, weil mein PC zu alt war und ich nicht alle Anforderungen installieren oder ausführen konnte.
Mein neuer professioneller Laptop hat jetzt anscheinend Hyper-Threading\*, daher werde ich sehen, ob ich den neuen Anweisungen ohne Administratorrechte folgen kann.
\* wmic CPU Get NumberOfCores,NumberOfLogicalProcessors zeigt mehr logische Kerne als physische Kerne an.
Ich hoffe, das hilft. Ich habe es noch nicht wirklich getestet, aber es scheint gut zu funktionieren.
Bearbeiten: user-select: text sollte zum Link hinzugefügt werden, da nicht nur der .cooked ausgewählte Text ihn beeinflusst, sondern jeder ausgewählte Text auf der Website. Ich habe den Code geändert.
Danke Sam, ich habe es nur genauer getestet, bevor ich es eingereicht habe, und es scheint, dass dies leider nicht ausreicht. Diese Lösung funktioniert nur mit Chrome.
Hier ist der Codeausschnitt, der den Fehler verursacht (aus app/assets/javascripts/discourse/app/lib/click-track.js)
// Klick abbrechen, wenn er als Teil einer Auswahl ausgelöst wird.
const selection = window.getSelection();
if (selection.type === "Range" || selection.rangeCount > 0) {
if (selectedText() !== "") {
return true;
}
}
Das Entfernen dieses Codes löst das Problem und scheint keine Tests zu beeinträchtigen (einige Tests schlagen aus irgendeinem Grund vor und nach der Änderung fehl, aber anscheinend keine neuen).
Daher frage ich mich, ob dieser Code etwas Nützliches bewirkt, denn eines tut er sicher nicht: Er tut nicht das, was er vorgibt zu tun, sonst würde der Fehlerberichter beim „Auswählen + Klicken“ überhaupt kein Link-Folgen erleben, aber das ist nicht seine Beschwerde.
Kann mir jemand sagen, was dieser Code bewirken soll?
Ich erinnere mich vage daran, dass es eine Problemumgehung für einen bestimmten Browser gab. Versuchen Sie es vielleicht in Safari/Firefox/Chrome mit einer Auswahl, um zu sehen, ob eine davon es auslöst?
Ich habe nur Zugriff auf die Windows-Plattform zum Testen.
Dieser Fix kann leicht getestet werden, da die Datei als Ganzes in die Konsole eingefügt werden kann.
@sam, weißt du, welche Datei wir nach dem Laden einer Thema-Seite in die Konsole einfügen sollen? @Aleksey_Bogdanov, könntest du mir diese Datei geben und ich könnte sie in meine Windows Vivaldi, Firefox, Android 9 Kiwi Browser-Konsolen einfügen, und du könntest sie in dein iOS, Mac OS Safari einfügen.