编辑器中的“插入链接”弹窗应允许 target=blank

编辑器中的链接按钮不允许您指定链接的目标,因此通过它输入的所有链接都必须在同一标签页/窗口中打开。就像这样

如果您输入 HTML 链接,可以指定 target=“_blank”,这样它就能正确在新窗口/标签页中打开,如下所示:
在新标签页中打开

在链接弹窗中添加一个“在新标签页/窗口中打开”的复选框会很有用。

2 个赞

不,因为这已经是每个用户的偏好设置了。

哪里?不在我的偏好设置里。
还是说你的意思是,如果一个用户恰好相当精通,就会知道可以右键点击在新标签页中打开链接?这并不是重点。

不正确。

我道歉——我从未注意到可以点击左侧的“界面”来获取大量更多选项。(花了我一点时间才弄清楚你那张截图是从哪里来的)

但这只是一个适用于所有链接的全局选项。我想处理的情况是:当希望强制在新标签页中打开链接,以免将读者从你的 Discourse 站点带离(如果她尚未设置全局偏好),但在此情况下在新标签页中打开链接确实合理。

我假设,如果我不勾选全局偏好,那么发帖人应该能够根据情况自行指定是否在新标签页中打开。

这最常见于需要作为参考的外部链接。如果是内部链接(例如指向另一个主题),那么在新标签页中打开可能并不合适,读者可以自行选择全局设置或通过右键点击来实现。

如果用户选择全局设置,那当然没问题,但更细致的处理方式也同样有效。作为读者,我会参考发帖人的建议,以决定链接是否应该在新标签页中打开。

不过,你这是在主张你的偏好比用户的偏好更重要。这是行不通的。链接会尊重用户偏好,但如果你是网站所有者,可以通过网站设置,按照你的意愿为所有新用户默认该偏好。

3 个赞

没那么严厉。我只是想说,在某些情况下,这样做可能是合适的,并且在对话框中提供该选项是明智的(正如许多其他系统所做的那样)。您不必使用它,而且如果用户尚未设置全局偏好,它仅会单向覆盖该偏好。

在 HTML 规范中,允许在 标签中指定 target 属性,我看不到有正当理由限制这一选项。您能说明这样限制的理由吗?

我刚刚在你上面的帖子中已经证明了。

真的吗?你主张读者比作者更清楚作者的意图。这对作者是不尊重的,因为作者可能有非常合理的理由希望链接在新标签页/窗口中打开——例如,如果目标是实用的参考资料,作者可能希望读者在阅读当前页面时仍能访问;或者作者知道该链接指向的网站禁用了“后退”按钮,如果读者想返回,将无法返回(仅举两个例子,其实有很多非常充分的理由支持链接在新标签页中打开)。
此外,你的评论暗示了一个假设,即所有读者都精通技术,知道在适当时如何在新标签页中打开链接,而在技术圈之外,这与事实相去甚远。

作为读者,我感谢那些恰当地利用 HTML 可用功能来引导用户体验的作者。作为作者,我希望在适当的时候能够预先设定用户体验。

为网站提供一项偏好设置(仅限登录访客),使所有外部链接都在新标签页中打开,这似乎既反常(近乎非标准),又过于粗暴。有时,从读者或作者的角度(或两者)来看,在新标签页中打开外部链接并不合适。有时,在新标签页中打开内部站点链接才是合适的(例如,指向术语表的链接,可以在继续阅读时保持打开状态)。

坦率地说,你的评论在我看来既好为人师又专断。你似乎在暗示,用户要么必须将所有外部链接都设为在新标签页中打开,要么必须在对链接网站的内容或行为一无所知的情况下,对每个案例做出判断,并且作者不应有权通过替读者做出选择来引导读者。

这并不能成为不提供大多数编辑器中已有功能的理由。

也许你真正想表达的是,出于个人原因,你本人不想这样做——这完全可以理解。我想你并不是唯一的决策者,即使你是联合创始人(应该是 Discourse 吧——无论如何,我对此表示敬意和赞赏)。

没错,既然这是一个用户可配置的选项,第三方就不应该有权忽略用户的偏好。如果某些链接的行为方式不一致,会造成多大的困惑呢?

实际上,这种行为恰恰有利于那些技术能力较弱的用户,因为他们不会在没有明确理由的情况下看到行为上的差异。对于具备技术能力的用户,系统提供了相应的偏好设置;而对于那些不理解细微差别的人来说,至少能保证行为的一致性。

上述措辞指的是内容管理系统(CMS),而 CMS 确实包含该功能。我并不认为有任何建议声称 Discourse 是一个 CMS,或者其存在是为了取代 CMS 的角色。请跟我重复:内容管理系统围绕内容构建,而讨论系统则围绕用户构建。

能否具体说明一下为什么这样做不合适?便利性是一个因素,但这就是“后退”按钮存在的意义。用户偏好需要与某种东西关联,要么是用户账户,要么是 Cookie。在用户账户级别存储用户偏好再次为用户提供了最一致的体验。社区的核心在于鼓励注册和参与——鼓励用户注册以便设置此类偏好,对社区是有益的。

再次强调,你指的是内容管理系统,而不是讨论平台。对于前者,作者在决定行为时拥有已知的上下文,因为此类平台的目标通常是内容消费。而像 Discourse 这样的讨论平台则完全不同——赋予用户覆盖他人偏好的能力,在逻辑上完全说不通。

谢谢你尝试,@Stephen
恐怕我还是不太理解。我怀疑我们这里存在一种跨大西洋的文化差异。你们所说的对我来说完全讲不通。

让我再尝试最后一次解释。
想象一个现实生活中的讨论论坛。它就像一个会议室,大家轮流发言,并认真倾听发言者的内容。现在,发言者可能想引用某篇期刊论文。在你的模式中,听众有权说“稍等一下,我去图书馆读那篇论文”,然后便离开。而在我的模式中,发言者有权说“这是图书馆的目录编号,会议结束后你去查一下”。
或者,假设发言者正在解释一些高度技术性的内容,可能需要听众查阅术语表来理解。在你的模式中,用户有权让发言者暂停,并在每次使用新术语时朗读定义。而在我的模式中,发言者会分发印有术语表的纸张,听众根据需要随时查阅。

实际上,在 Discourse 中,由于存在用户偏好“始终在新标签页中打开外部链接”的设置,带有 target 属性的链接无法覆盖这一主动偏好。它只能覆盖“不自动在新标签页中打开外部链接”这一被动偏好,而且仅当作者自身也有相关偏好时才会生效。

无论如何,我们显然无法达成一致。我认为这是一种文化差异。我本可以着手学习另一种(对我来说)生僻的语言,并分叉代码来实现我想要的功能,但说实话,我懒得这么做。这也不是什么大事,只是有点烦人:当我想发送一个链接到新标签页以方便用户时,不得不输入原始 HTML(是的,有时“大老板”确实知道什么最好:wink:)。

1 个赞

除非你居住在一个既不属于欧洲(英国)也不属于美国的跨大西洋目的地。

我在伦敦郊外从事大型多租户系统的开发已近二十年,我相信杰夫在美国从事类似工作已有更长的时间。

这并非文化差异,而是不同平台重视的方面不同。用户处于讨论平台的中心,就个人而言,在 Discourse 等产品中,用户的偏好至关重要。

如果您是网站所有者,并且希望默认开启“在新标签页中打开”选项,您可以在网站设置中进行修改。

如果您不是网站所有者,那么请像其他人一样尊重用户对此的偏好设置。

1 个赞

我也需要这个功能,并且理解 @rogerco 的意思……顺便说一下,我是自己论坛的管理员。

有时,当有人发布指向外部 URL 的链接时,我需要确保会员留在论坛内。让编辑器允许选择 target="_blank" 就是解决方案,这样我作为管理员就可以选择哪些链接在同一标签页中打开,哪些链接可以在不同的标签页中打开。

我作为管理员,并不需要所有链接都这样行为(在新标签页中打开),我只需要某些链接(由我选择)这样处理。

3 个赞