是否可以将自定义部分链接设置为 _blank,以便在新选项卡中打开?许多主题组件也提供了此功能。
我们曾经讨论过侧边栏中的外部链接是否应该在新标签页中打开,但我们决定尊重用户的偏好。
您能否分享一两个您自己网站的案例,您觉得最好覆盖用户的偏好,强制链接在新标签页中打开?
当然。也许我们的方法不同。我坚信,如果链接是外部链接,将用户的浏览器转发到单独的标签页会更礼貌。这可以防止他们中断他们在论坛页面上正在进行的或已经进行的体验。
我们的论坛非常活跃,我不确定用户是否可以接受通过离开网站来跟随链接。在这种情况下,链接会导向我们的 Telegram 频道。
最终,我不建议默认将外部链接打开为 _blank。我建议您让 Discourse 管理员能够控制来自此特定组件/配置功能的任何链接的打开方式。
临时解决方案:右键单击某个项目,您将获得在新标签页中打开它的选项。
同意,当链接在新标签页中打开时,您的进度永远不会中断。
我倾向于同意这一点。就像上面使用 Telegram 频道的场景一样,显然会有一些情况,覆盖用户偏好设置对于管理员创建的自定义链接是理想的。在主题组件中,我们经常将目标设置为 _blank,所以我不知道为什么此选项不能作为自定义侧边栏配置模态的一部分(除非是空间不足的问题)。
实际上,我的论坛上也有管理员自定义的侧边栏链接,我倾向于覆盖用户对链接的设置。
您认为,如果用户已明确表示希望在同一窗口中打开链接,那么不按他们明确指示的操作会更有礼貌吗?
使用屏幕阅读器的用户在不期望的情况下打开新标签页时会最感不便。这就是为什么通常建议不要将链接劫持到新标签页(即使这是您和我所偏好的)。
您可以更改用户默认的在新标签页中打开的偏好设置,并将其应用于所有用户。这样,您的网站就可以更有礼貌,而不会违反用户偏好。
这一点确实很好。
作为一个真正使用屏幕阅读器的人(以及它带来的一些有趣问题,一些主题组件会给它们带来麻烦),我可以确认,强制打开新标签页通常是个坏主意。
如何禁用侧边栏打开指向姊妹网站的自定义链接,并在新标签页中打开?由于另一个网站也有一个返回 Discourse 的链接。目前,这会导致出现许多不必要的标签页。
更希望该外部链接仅在 _self 中打开。
谢谢。
通常所有链接都必须打开到 _self。用户会询问何时以及哪些链接应在新选项卡或窗口中打开。
我认为问题是如何为指向论坛的特定链接设置此功能。更改管理员设置会改变所有链接的行为,不是吗?
嗯,有可能。他们想覆盖用户设置吗?那些是我所知道的会影响单独标签/窗口中链接的唯一设置。
是的,我不想全局禁用外部网站的目标 _blank。只想为这一个菜单项禁用它。
感谢您的解释。
Custom Header Links 允许您选择其添加的链接的目标。也许这会有所帮助
好的。所以用这个来做侧边栏?
这是一个提示。这是我能想到的最好的提示了。老实说,我不确定是否要修改侧边栏。
侧边栏似乎仍然没有插件插槽(?!),所以可能需要一些巧妙的 JavaScript 来找到你想修改的东西。可能像这样。
这是故意的,理想情况下,侧边栏应该使用 API 扩展……这有助于我们维护在此处添加的任何自定义链接/部分。
目前看来,外部链接目标是基于用户设置 external_links_in_new_tab 的全有或全无……因此,即使通过 API 添加了自定义部分/链接,也没有方法可以更改特定链接的目标。添加此选项是可能的……尽管历史上我们倾向于尊重用户如何打开链接的首选项。
这就解释了。我想我错过了那个通知。但仔细一看,我在 plugin-api.js 中看到了 addSidebarPanel 和 addSidebarSection,但只有后者出现了一个帖子,而且远非一个“操作指南”。但这里有这个:

