Ist es möglich, benutzerdefinierte Abschnittslinks so zu gestalten, dass sie sich im _blank öffnen, um in einem neuen Tab geöffnet zu werden? Es gibt auch viele Theme-Komponenten, die diese Möglichkeit bieten.
Wir haben irgendwann diskutiert, ob externe Links in der Seitenleiste in einem neuen Tab geöffnet werden sollen, aber wir haben uns entschieden, die Benutzereinstellung zu respektieren.
Können Sie ein oder zwei Beispiele von Ihrer eigenen Website nennen, bei denen Sie das Gefühl haben, dass es besser wäre, diese Benutzereinstellung zu überschreiben und den Link in einem neuen Tab zu erzwingen?
Sicher. Vielleicht ist unser Ansatz einfach anders. Ich glaube fest daran, dass es viel höflicher ist, den Browser des Benutzers in einen separaten Tab weiterzuleiten, wenn der Link extern ist. Das verhindert, dass sie die Erfahrung unterbrechen, die sie auf den Forum-Seiten haben/hatten.
Unser Forum ist sehr aktiv, ich bin mir nicht sicher, ob es in Ordnung ist, wenn ein Benutzer durch das Verlassen der Website unterbrochen wird, indem er dem Link folgt. Der Link führt zu unserem Telegram-Kanal, falls dies der Fall ist.
Letztendlich schlage ich nicht vor, externe Links standardmäßig im _blank-Format zu öffnen. Ich schlage vor, dass Sie Discourse-Administratoren die Möglichkeit geben, zu steuern, wie Links von dieser spezifischen Komponente/Konfigurationsfunktion geöffnet werden.
Temporäre Lösung: Wenn Sie mit der rechten Maustaste auf ein Element klicken, erhalten Sie die Option, es in einem neuen Tab zu öffnen.
Zustimmung, Ihr Fortschritt würde nie unterbrochen werden, wenn Links in einem neuen Tab geöffnet werden.
Ich neige dazu, dem zuzustimmen. Wie im obigen Szenario mit einem Telegram-Kanal gibt es offensichtlich Fälle, in denen es für vom Administrator erstellte benutzerdefinierte Links ideal ist, die Benutzereinstellungen zu überschreiben. In Theme-Komponenten zielen wir oft auf _blank ab, daher bin ich mir nicht sicher, warum diese Option nicht Teil des benutzerdefinierten Side-Bar-Konfigurationsmodals sein kann (es sei denn, es handelt sich um Platzmangel und es ist dort kein Platz).
Ich habe tatsächlich auch benutzerdefinierte Links in der Seitenleiste meines Forums, bei denen ich geneigt wäre, die Benutzereinstellung für Links zu überschreiben.
Sie glauben, dass es höflicher ist, nicht das zu tun, was der Benutzer ausdrücklich angegeben hat, wenn er die Präferenz geäußert hat, Links im selben Fenster zu öffnen?
Menschen, die Screenreader verwenden, sind am meisten davon betroffen, wenn Dinge in neuen Tabs geöffnet werden, wenn sie es nicht erwarten. Deshalb wird generell empfohlen, Links nicht in einen neuen Tab zu „hijacken“ (auch wenn es das ist, was Sie und ich bevorzugen).
Sie können die Standardeinstellung des Benutzers ändern, um sie in einem neuen Tab zu öffnen, und diese Einstellung auch auf alle Benutzer anwenden. Dies ermöglicht es Ihrer Website, höflicher zu sein, ohne die Benutzereinstellungen zu verletzen.
Das ist ein wirklich guter Punkt.
Als jemand, der tatsächlich einen Screenreader verwendet (und all die lustigen Probleme, die einige Themenkomponenten für sie schaffen), kann ich bestätigen, dass es generell eine schlechte Idee ist, neue Tabs zu erzwingen.
Wie kann ich die Seitenleiste daran hindern, einen benutzerdefinierten Link zu einer Schwesterwebsite in einem neuen Tab zu öffnen? Da die andere Website auch einen Link hat, um zu Discourse zurückzukehren. Derzeit führt dies zu einer Reihe unerwünschter Tabs.
Ich würde es vorziehen, wenn sich dieser externe Link nur unter _self öffnet.
Danke
Im Allgemeinen müssen sich alle Links in _self öffnen. Ein Benutzer sagt, wann und welche sich in einem neuen Tab oder Fenster öffnen sollen.
In Admin - Einstellungen, stellen Sie sicher, dass Folgendes deaktiviert ist:
Beachten Sie, dass sich angemeldete Benutzer in ihren Benutzereinstellungen im Tab „Oberfläche“ über die Admin-Einstellungen hinwegsetzen können:
Ich glaube, die Frage war, wie man dies für einen bestimmten Link zur Website einrichtet, der einen Link zurück zum Forum hat. Würde die Änderung der Admin-Einstellung das Verhalten für alle Links ändern?
hmmm, könnte sein. Möchten sie die Benutzereinstellungen überschreiben? Das sind die einzigen Einstellungen, die ich kenne und die sich auf Links in separaten Tabs/Fenstern auswirken.
Ja, ich möchte das Ziel _blank nicht global für externe Websites deaktivieren. Ich möchte es nur für diesen einzelnen Menüpunkt deaktivieren.
Danke für die Erklärung.
Custom Header Links ermöglicht es Ihnen, das Ziel für die Links auszuwählen, die es hinzufügt. Vielleicht hilft das
Danke. Soll ich das für die Seitenleiste verwenden?
Es ist ein Hinweis. Es ist das Beste, was ich habe. Ehrlich gesagt, bin ich mir nicht sicher, ob ich die Seitenleiste ändern soll.
Es scheint, dass es immer noch keine Plugin-Ausgänge in der Seitenleiste gibt (!?), daher könnte es etwas cleveres JavaScript erfordern, um das zu finden, was Sie ändern möchten. Etwas wie dies, vielleicht.
Dies ist beabsichtigt, idealerweise sollte die Seitenleiste über die API erweitert werden… dies hilft uns, benutzerdefinierte Links/Abschnitte beizubehalten, die hier hinzugefügt wurden.
Derzeit sieht es so aus, als ob die externen Linkziele entweder alle oder keine sind, basierend auf der Benutzereinstellung external_links_in_new_tab… sodass selbst mit einem benutzerdefinierten Abschnitt/Link, der über die API hinzugefügt wurde, keine Methode vorhanden ist, das Ziel für einen bestimmten Link zu ändern. Es wäre möglich, diese Option hinzuzufügen… obwohl wir historisch gesehen dazu neigen, die Präferenz des Benutzers für die Art und Weise, wie Links geöffnet werden, zu respektieren.
Das erklärt es. Ich habe diese Mitteilung wohl verpasst. Aber wenn ich genauer hinschaue, sehe ich addSidebarPanel und addSidebarSection in plugin-api.js, aber nur letzteres taucht in einem Beitrag auf, und das ist weit davon entfernt, eine Anleitung zu sein. Aber es gibt das hier:

