We noticed that link counters won’t increase if you right-click on them and select ‘open in new tab’, or if you use the middle mouse button on them.
That’s because it’s a browser function, there’s no click action to catch. AFAIK the destination page won’t see a referrer either, it’s akin to copy-pasting the URL into the address bar.
does the same issue happen for middle click or control click?
That makes sense, thanks!
It does. I included that in my post ![]()
<a> 元素的 ping 属性可用于增加计数器。
注意事项:
- 默认情况下,Firefox 中已禁用此功能。
- 似乎没有用于此功能的 JavaScript 事件,因此计数器仅在下次访问帖子时才会显示更新。
注意:似乎“mousedown”事件在鼠标中键单击时会被触发,但这会导致误报,因为并非每次单击都会导致导航——例如复制链接、自定义浏览器设置。
有 MouseEvent.button,其值为 1,表示“按下了辅助按钮,通常是滚轮按钮或中间按钮(如果存在)”。
我认为这没关系。我认为我们不应严格计算链接页面加载的次数,而只是“链接交互”。我认为“复制链接”也应该增加计数器,就像单击链接一样。
此外,我认为大多数人不会简单地单击鼠标左键打开此类链接:他们通常希望在新标签页中打开它,以便原始帖子仍然打开,并且不必来回导航。
我习惯性地用鼠标中键点击所有内容。但在 Discourse 上,我会用中键点击,然后想起这不会增加计数器,接着回到页面用左键点击。
我知道这是已记录的行为,但我真的很讨厌这样。
我相信大多数人都能接受计数器“过度计数”而不是“计数不足”。至少这样你就知道有人与链接进行了互动,而目前很多人可以关注一个链接,但该死的计数器却从未增加。
@Pod,你为什么会这么想?![]()
计数器用于显示互动情况。每一次点击都代表一种互动形式,因此过度计数的方法更能反映实际的互动情况,而且我认为大多数其他人也希望看到链接被互动的频率。
相反,我怀疑是否有人想看到一个链接被点击了多少次的计数,而只用鼠标左键点击,或者在手机上短按。这种具体的细节对非开发者来说似乎并不重要。
我见过很多关于链接只有1或2次点击的讨论,尽管有几十个人在讨论这个项目。你目前使用的低估计数方法非常不准确,因为所有这些人实际上都访问了链接,但他们并没有在你目前使用的 Discourse 狭窄的参数范围内进行操作。
我不知道这个属性。
这是当前的浏览器兼容性:
确实,除了 Firefox 默认支持外,其他都普遍支持。