一个小小的建议,V2 的发帖时间目前都是类似于 h 小时 m 分钟前的格式,这样想知道确切时间的话还得自己算一下
(比如看到一个 780 天前的历史帖子没法直观看出是何时发布的),能否像 github 那样鼠标放上去显示标准的时间格式。
我参考了下 v2 和 github 的 html 元素,这样改在 chrome 下好像是可以的。
具体时间服务端渲染的时候应该可以根据 unix 时间戳算出来。希望 livid 大佬有空能改进一下,感谢。
// current V2EX topic_info style
<span class="topic_info">
<div class="votes"></div>
<a class="node" href="/go/jobs">酷工作</a>
•
<strong><a href="/member/ethandyr">ethandyr</a></strong>
• 1 小时 10 分钟前 • 最后回复来自
<strong><a href="/member/yanzhiling2001">yanzhiling2001</a></strong>
</span>
// V2EX topic_info with showing absolute time when mouse hovered
<span class="topic_info">
<div class="votes"></div>
<a class="node" href="/go/jobs">酷工作</a>
•
<strong><a href="/member/ethandyr">ethandyr</a></strong>
•
<span title="2020 年 12 月 9 日 GMT+8 01:18:32">1 小时 10 分钟前</span>
• 最后回复来自
<strong><a href="/member/yanzhiling2001">yanzhiling2001</a></strong>
</span>
// github 相对时间的 html 元素
<span class="f6 text-gray-light no-wrap ml-1">
<relative-time datetime="2020-12-08T15:28:22Z" class="no-wrap" title="2020 年 12 月 8 日 GMT+8 下午 11:28">2 hours ago</relative-time>
</span>
主帖里只举例了topic的确切时间显示,为了保持风格一致对应的回复也应该能看到具体时间。
// current v2ex reply
<span class="ago">329 天前</span>
// reply with showing absolute time
<span class="ago" title="2020-01-17 14:22:43 +08:00">329 天前</span>
1
Livid MOD 好的,我今天会上线这个改进。
非常感谢。 |
2
Livid MOD 我查看了相关部分的代码实现,需要说明的一件事情是,我们现有的代码实现绝对不会输出“780 天前”这种无意义的相对日期。我们目前的处理方式是超过一年的就显示绝对日期。
span title 当然也会在今天加上。 |
3
Livid MOD GitHub 的实现方式居然是一个 Web Component,真是很有意思。感谢分享。
|
4
Livid MOD 这个更改已经部署。
|
5
katsusan OP @Livid 站长辛苦了。另外帖子里只举例了主题的确切时间显示,我在 append 里加上了关于同样显示回复时间的建议,站长有空可以参考下,谢谢。
|
6
Livid MOD 在回复和附言处的相对时间显示现在也有 title 了。谢谢。
不过我感觉目前有一个小小的问题就是有的时候这个悬停触发的等待时间好像有点长。 |
7
katsusan OP 我搜了下 title 的 tooltip 延迟好像是浏览器设定并且还不能更改。
https://stackoverflow.com/questions/9150796/change-how-fast-title-attributes-tooltip-appears 在我的 Chrome 86 这里要 1 秒左右延迟,感觉可以接受。如果要自定义 tooltip 的话得引入第三方组件 或者用 JS+CSS 实现一个简单的 tooltip(比如官方的 hover::after 示例)。 https://developer.mozilla.org/en-US/docs/Web/CSS/::after |