建议默认将帖子在新标签页打开

Cl
Cloudflare奇想天外
建议默认将帖子在新标签页打开
仅镜像
如果可行的话,能否默认将帖子在新标签页打开,方便快速查找感兴趣的文章
chromaso
Re: 建议默认将帖子在新标签页打开
仅镜像
关于这个的 debate 已经有二十年之久了。但是几乎所有 UX 专家的结论都是:不应该那么做。例如 https://www.nngroup.com/articles/new-browser-windows-and-tabs/https://www.duncanmackenzie.net/blog/do-not-open-new-tabs/ 这几篇文章都给出类似的结论。

我个人也认为,考虑到目前大多数浏览器的实现,默认在新标签页打开确实是错误的做法,因为这剥夺了用户自己做出选择的权利。默认在当前标签页打开的话,用户依然可以通过在上下文菜单中选择使用鼠标中键点击链接等方式,较方便地在新标签页打开链接;而默认在新标签页打开链接的话,用户没有任何方式选择在当前标签页打开链接。

此外,考察 phpBB、Discourse、Discuz!、vBulletin 等流行的 self-hosted 论坛软件,不难发现,它们全部都没有选择默认在新标签页打开主题帖,而是默认在当前标签页打开。同样,考察全球范围内以及中文圈中流行的公共社区,例如 Reddit、豆瓣小组、PTT、高登、连登,也都没有选择默认在新标签页打开主题帖。唯一的例外是百度贴吧,但实话说我不觉得百度贴吧是个好的学习对象。
chromaso
Re: 建议默认将帖子在新标签页打开
仅镜像
此外,如果你喜欢在新标签打开帖子的话,可以直接添加以下油猴脚本,literally an one-liner:
// ==UserScript==
// @name         Open thread links in new tab
// @match        https://mirror.chromaso.net/*
// ==/UserScript==

[].forEach.call(document.querySelectorAll('a[href^="/thread/"], a[href^="/post/t"]'), a => (/\/\d+\/\d+$/.test(a.pathname) || (a.target = '_blank')));