牛马论坛查看原帖 →

V2EX.REP 的“当前页热门回复”侧栏错位、楼号点了不跳,分享个临时修复

白小白 4 阅读 1 回复
一直在用 V2EX.REP 这个扩展看帖子,主要用它右边的“当前页热门回复”。前两天突然发现那一栏错位了:用户名和时间被挤成一个字一行,点楼号也跳不到原楼层了。
等了几天没见更新,手痒,就让 Claude Code 帮着查了一下,顺手修了。说明一下,我不是作者,跟作者也不认识,只是遇到问题修了一下,发出来给遇到同样问题的人参考。
[b]原因[/b]
V2EX 最近改了回复区的结构,用户名、时间和红心现在排在一个弹性布局的行里,原来那个装感谢、回复按钮的工具栏(.fr)也没了。插件还是按旧结构写的,于是出了两个问题:
[list=1]
[*]侧栏只有 270px 宽,这一行被压缩,用户名和时间就挤成了竖排。
[*]插件复制回复到侧栏时,会找旧工具栏,把楼号换成能点的链接。新结构里找不到这个工具栏,楼号就一直是普通文字,点了没反应。
[/list][b]修复方法[/b]
不用改插件本身,在 Tampermonkey (或其他用户脚本管理器)里新建一个脚本,粘贴下面的内容并保存,再刷新帖子页就行:
// ==UserScript==// @name V2EX.REP 热门回复侧栏修复补丁// @namespace v2ex-rep-top-replies-patch// @version 1.0// @description V2EX 改版后,V2EX.REP 右侧“当前页热门回复”用户名被挤成竖排、楼号点了不跳转// @match https://*.v2ex.com/t/*// @match https://v2ex.com/t/*// @match https://*.v2ex.co/t/*// @run-at document-start// @grant GM_addStyle// ==/UserScript==// 1. 排版:用户名、时间、红心在侧栏里换行显示,不再挤成一字一行GM_addStyle(`#top_replies td > .flex-one-row { flex-wrap: wrap; row-gap: 4px; }#top_replies td > .flex-one-row > .flex-one-row:first-child { flex: 1 1 100%; flex-wrap: wrap; min-width: 0; row-gap: 2px; }#top_replies td > .flex-one-row > .flex-one-row:last-child { margin-left: auto; }#top_replies td > .flex-one-row strong { flex: 1 1 100%; min-width: 0; overflow-wrap: anywhere; }#top_replies td > .flex-one-row .ago { white-space: nowrap; }#top_replies td > .flex-one-row br { display: none; }#top_replies .no { cursor: pointer; }`);// 2. 点击:侧栏里的楼号点一下,跳到正文里对应的那条回复document.addEventListener('click', (event) => { const no = event.target.closest('#top_replies .no'); if (!no) return; const cloned = no.closest('[id^="top_r_"]'); const target = cloned && document.getElementById(cloned.id.slice(4)); if (!target) return; event.preventDefault(); event.stopPropagation(); target.scrollIntoView({ block: 'start' });}, true);修好后,侧栏每条回复第一行是用户名,第二行是时间和红心,楼号能点了。
几点说明:
[list]
[*]我只在 Chrome + Tampermonkey 、V2EX 默认主题下试过。用了 V2EX Polish 之类改样式的扩展,可能不适用。
[*]这只是个临时补丁。等作者更新修好了,把它删掉就行,留着一般也不冲突。
[*]如果你是用 Chrome 商店的扩展版而不是用户脚本版,这个补丁照样能装,前提是装了 Tampermonkey 。
[*]已经给作者提了 issue: https://github.com/v2hot/v2ex.rep/issues/6
[/list]

⚠️内容来自互联网,如有侵权请点击反馈!侵权投诉
我也遇到过,还以为是浏览器缩放搞的。想问下你这脚本是监听 DOM 变化还是刷新后只跑一次?V2EX 要是再改结构估计还得跟着改,最好顺手给作者提个 PR
[这只是一个小尾巴]

阅读全文与全部回复 →