于是我重新设计了 V2EX - v2excellent.js - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
vitovan
V2EX    分享创造

于是我重新设计了 V2EX - v2excellent.js

  vitovan 2015-11-24 07:05:19 +08:00 16879 次点击
这是一个创建于 3616 天前的主题,其中的信息可能已经有所发展或是发生改变。

跳过正文:https://vitovan.github.io/v2excellent.js/

缘起

看到一个贴子 于是我攒了一个黑苹果 ,大家讨论的热火朝天,于是我点了进去:

贴子倒是没什么可吐槽的,关键是回复

根本看不懂啊,不知道大家都在讨论什么呀!!

“ I217 可以用 AppleIntelE1000e.kext 来完美驱动”,这...... 指的是......

于是我拖到下方,找到分页按钮,用强大的人工智能,终于搞清楚了大家都在说些什么。

于是

想,平时看 HackerNews 的评论体验多好呀,明确的知道大家都在讨论什么,评论嵌套着很方便阅读么!为毛 V2EX 不搞一搞?

于是我决定搞一搞。

然后

发现 V2EX 与 HN 不同的一点是:回复中可以同时回复多人,这...... 不是嵌套关系。

不好搞啊......

不过

还是搞了出来。

可能算法上不很严谨,但效果还是蛮好的。

发出来给大家试试,要是觉得不错的话,封成插件呀~

效果是这样的:

主页在这里:https://vitovan.github.io/v2excellent.js/

源码在这里:https://github.com/VitoVan/v2excellent.js

第 1 条附言    2015-11-24 08:15:00 +08:00
要是大家觉得有用的话,要不封装成插件?支持 Chrome / Firefox / User Script ?
第 2 条附言    2015-11-24 09:19:10 +08:00
支持跨页啊,盆友们。自动提取帖子所有回复。
第 3 条附言    2015-11-24 16:06:21 +08:00
第 4 条附言    2015-11-25 11:31:28 +08:00

升级了,请删除当前书签,前往项目主页重新添加 http://vitovan.github.io/v2excellent.js/

2015/11/25 Add feature: Image Upload
2015/11/25 Add feature: #reply42 Jump
2015/11/25 Add feature: Gift ClickOnce
2015/11/25 Add feature: Floor Specification

第 5 条附言    2015-11-25 12:56:03 +08:00
第 6 条附言    2017-04-15 08:38:06 +08:00
125 条回复    2018-01-05 13:48:10 +08:00
1  2  
vitovan
    1
vitovan  
OP
   2015-11-24 07:19:16 +08:00
Sorry La... 标题党,一楼认错。
Coxxs
    2
Coxxs  
   2015-11-24 07:28:40 +08:00   1
好赞!也可以考虑做成 user script
zdnet
    3
zdnet  
   2015-11-24 07:34:08 +08:00
好用!
cdxem713
    4
cdxem713  
   2015-11-24 07:35:57 +08:00 via iPhone
虽然没有用,但是想了下,貌似有很大的 bug 啊。 v2 不像一般论坛是回复某楼,而是回复某人的,你这样的层级关系一方面肯定聚合不对,而且如果只是几个人的频繁交流,你是如何聚的?
babytomas
    5
babytomas  
   2015-11-24 07:38:09 +08:00 via Android
Nice ,一直很想吐槽 P2EX 的评论。。。
jprovim
    6
jprovim  
   2015-11-24 07:41:35 +08:00
@sciooga 有人将军.
CodingPuppy
    7
CodingPuppy &nbp;
   2015-11-24 07:51:28 +08:00
good job,之前有觉得 V 站回复系统不好用,想写个插件来着,奈何 Javascript 技能没点满,一直拖着,现在可以直接用起来了。
dsdshcym
    8
dsdshcym  
   2015-11-24 08:00:21 +08:00
但是每次都要加载一下好麻烦
vitovan
    9
vitovan  
OP
   2015-11-24 08:12:06 +08:00
@dsdshcym 如果需要的话,改天封装成插件。
hccbook
    10
hccbook  
   2015-11-24 08:40:15 +08:00 via iPad
我觉得改成 user script 会更好哦
exoticknight
    11
exoticknight  
   2015-11-24 08:47:51 +08:00
考虑弄成网状?
sablib
    12
sablib  
   2015-11-24 08:50:06 +08:00   1
在首页点的时候把帖子之间的分割线给弄没了。
Yvette
    13
Yvette  
   2015-11-24 08:50:46 +08:00
真棒!希望出 Safari 插件
nicktogo
    14
nicktogo  
   2015-11-24 08:52:39 +08:00 via Android
支持改成 user script
vitovan
    15
vitovan  
OP
   2015-11-24 09:00:00 +08:00
@sablib 哈哈,我还没有在首页点过呢。
sciooga
    16
sciooga  
   2015-11-24 09:00:18 +08:00
@jprovim 哈哈,很好嘛。

@vitovan 楼主 V2EX PLUS 是支持跨页的判断相关回复的,具体是使用了 V 站的一个 API:
api/replies/show.json?topic_id=238403 (获取这个主题的所有回复)

附上一个效果图 : )
Tink
    17
Tink  
PRO
   2015-11-24 09:00:33 +08:00   2
居然有我。。
sciooga
    18
sciooga  
   2015-11-24 09:02:06 +08:00
另外书签小应用(国内没有一个统一的称呼)一般是写成 Bookmarklet
simo
    19
simo  
   2015-11-24 09:03:45 +08:00
我司论坛 03 年上线一直是树状,这么多年,深层嵌套、无法分页,痛觉不爱。
bk201
    20
bk201  
   2015-11-24 09:04:32 +08:00
然而个人觉得嵌套看着很累
Kilerd
    21
Kilerd  
   2015-11-24 09:05:22 +08:00
挺不错,但是对于那些一次回复喜欢回复几个人的楼主,该怎么分割呢?

方法挺好,可能需要改进一下算法。
nisnaker
    22
nisnaker  
   2015-11-24 09:10:47 +08:00
@cdxem713
4 楼说得对。

一直用 v2ex.ext ,感觉这个回复提示比较合理。
vitovan
    23
vitovan  
OP
   2015-11-24 09:18:02 +08:00
@sciooga 这个也是支持跨页的,不过用的不是 API ,咦?居然有 API ?
vitovan
    24
vitovan  
OP
   2015-11-24 09:21:15 +08:00
@sciooga 这是隐藏 API 么?怎么在官方页面上没找到?
https://v2ex.com/p/7v9TEc53
vitovan
    25
vitovan  
OP
   2015-11-24 09:23:25 +08:00
@cdxem713 哈哈,这是个已知的未找到解决方案的问题。
sciooga
    26
sciooga  
   2015-11-24 09:25:39 +08:00   1
@vitovan 有朋友看 V 站 源码整理出来的。
vitovan
    27
vitovan  
OP
   2015-11-24 09:27:23 +08:00
@Kilerd 一次回复好几个的,在逻辑上搞不定啊,当前是直接按照只回复了第一个人来算了。
gDD
    28
gDD  
   2015-11-24 09:32:52 +08:00 via iPhone   1
起得一个好名字!
chenshaoju
    29
chenshaoju  
   2015-11-24 09:34:27 +08:00
哦哟,不错哟,蛮吊的哟!
cheny95
    30
cheny95  
   2015-11-24 09:40:11 +08:00



用了 V2EX PLUS

引用了两位的名字请见谅,纯演示使用

@sciooga @jprovim
cheny95
    31
cheny95  
   2015-11-24 09:41:30 +08:00
点开"会话详情" 也可以愉快的玩耍
hronro
    32
hronro  
   2015-11-24 09:45:03 +08:00   1
这个很赞啊,前几天想做一个类似的,没想到已经有人做出来了。
默默点赞~
haog
    33
haog  
   2015-11-24 09:48:35 +08:00
不错
imn1
    34
imn1  
   2015-11-24 09:51:43 +08:00
@vitovan
如果 api 没有指代,简单逻辑应该是回复最接近的发言概率更大一些
首次回复 50 : 50 ,第二次及后回复则绝大多数是对话式了
imn1
    35
imn1  
   2015-11-24 09:53:54 +08:00
@cheny95
前面未出现提示可以改为“召唤该用户”
vitovan
    36
vitovan  
OP
   2015-11-24 10:39:28 +08:00
@exoticknight 网状是什么状?
littlewey
    37
littlewey  
   2015-11-24 10:41:44 +08:00   1
麻烦做成扩展哈
vitovan
    38
vitovan  
OP
   2015-11-24 10:43:33 +08:00   1
@littlewey Request Accepted!
vitovan
    39
vitovan  
OP
   2015-11-24 10:44:28 +08:00
@imn1 !!!
你的头像居然是透明背景!天呐!
我的天呐!
wheatcuican
    40
wheatcuican  
   2015-11-24 10:51:22 +08:00   1
XuanYuan
    41
XuanYuan  
   2015-11-24 11:18:34 +08:00
一个帖子里面回复多人的问题,可以做成多重 quote 啊
littlewey
    42
littlewey  
   2015-11-24 11:21:16 +08:00 via iPhone
@vitovan 透明头像你以为是有 bug 对么? 噗
imn1
    43
imn1  
   2015-11-24 11:22:42 +08:00
@vitovan
低调,低调,别一惊一咋的
经常被第三方看成是上一楼长回复……

&不是透明,是白色,好像不支持 png
flyslow
    44
flyslow  
   2015-11-24 11:26:19 +08:00
good job
anthozoan77
    45
anthozoan77  
   2015-11-24 11:28:34 +08:00
厉害,学习!
imn1
    46
imn1  
   2015-11-24 11:31:15 +08:00
@vitovan
v2excellent.js 和 min 两个 js 要同时用么?
加载是刷新一次还是仅仅重新渲染?
如果只是渲染,扔进油猴简单些,刷新的话我就改成 pentadactyl 自用
dofy
    47
dofy  
   2015-11-24 11:32:22 +08:00
不好使啊,点一次没反应,点两次一直 loading
vitovan
    48
vitovan  
OP
   2015-11-24 12:24:14 +08:00
@imn1 仅需要一个, min.js 是压缩后的。
加载不需要刷新,如果翻页了的话会去 Ajax 拉取其他页的数据。
准备做一下插件和 User Script~
vitovan
    49
vitovan  
OP
   2015-11-24 12:24:52 +08:00
@littlewey 是呀,吓死我了。
vitovan
    50
vitovan  
OP
   2015-11-24 12:25:36 +08:00
@dofy 是一直显示 loading 图标么?可否 F12 帮忙看下控制台?
vitovan
    51
vitovan  
OP
   2015-11-24 12:26:20 +08:00
@wheatcuican 打算借鉴,作成 Yet Another V2EX Extension.
dofy
    52
dofy  
   2015-11-24 12:35:25 +08:00
@vitovan 看了控制台,加载了 js 文件,但没有之后的请求。
dofy
    53
dofy  
   2015-11-24 12:36:35 +08:00
@vitovan 哦 好像可以了
halfcoder
    54
halfcoder  
   2015-11-24 13:10:14 +08:00   1
不建议直接写 Javascript:...,最好用(function(){})();包裹一下,不然 firefox 下似乎不行, 45.0b3 。
DiagnosticError
    55
DiagnosticError  
   2015-11-24 13:34:24 +08:00
曾经吐槽过,终于有人做这个了
sitin
    56
sitin  
   2015-11-24 14:05:19 +08:00
一直觉得跨页的看着太累。
FrankFang128
    57
FrankFang128  
   2015-11-24 14:17:16 +08:00
不喜欢嵌套的评论……
vitovan
    58
vitovan  
OP
   2015-11-24 14:26:54 +08:00
@halfcoder 多谢,我试试。
skyun
    59
skyun  
   2015-11-24 14:47:54 +08:00
V2EX PLUS 棒棒哒~
FindHao
    60
FindHao  
   2015-11-24 15:00:24 +08:00
直接在 tampermonkey 里新建脚本,在自动生成的头里改掉 include :
```
// @include http*://*.v2ex.com/*
// @include http*://v2ex.com/*
```
然后把代码 copy 进去就能跑了呢
效果还是很好的。
goodbest
    61
goodbest  
   2015-11-24 15:10:36 +08:00
@FindHao 按你的方法搞定了, lz 你也提供个脚本地址供大家用吧

效果
jings
    62
jings  
   2015-11-24 15:25:30 +08:00   1
@Livid @站长出来才是正途 改插件都是浮云
Krime
    63
Krime  
   2015-11-24 15:33:39 +08:00
@vitovan 支持弄成插件哦,不过同一个人在帖子里回复多次的情况是怎么处理的?能区分出回复的是他在哪一楼的评论吗?
lenran
    64
lenran  
   2015-11-24 15:33:55 +08:00
真心不错。但还是希望 @Livid 出来表示下,要不,一旦网站改版就。。。
kokdemo
    65
kokdemo  
   2015-11-24 15:36:21 +08:00   1
根据开源项目起名学来说……

光拼写 excellent 就能拦住不少人……


我在想要不要把 v2ex.k 挖出来重构一遍……
jaylong
    66
jaylong  
   2015-11-24 15:46:54 +08:00
棒棒哒好赞~~
不过这个是什么鬼?
“中文是被允许的在这个仓库,你可以在 [上拉请求] 或者 [问题] 板块里使用中文,放轻松些我的老伙计。”
vitovan
    67
vitovan  
OP
   2015-11-24 16:05:10 +08:00
@jaylong 哈,前一段不是有人在 Issues 里写中文吐槽被鄙视了么,开玩笑啦。
vitovan
    68
vitovan  
OP
   2015-11-24 16:09:28 +08:00
@Krime 多谢支持,稍候搞一搞。

关于怎么处理的,是直接把他 /她回复的内容附到最近的被回复的人的评论下方了。

并不能区分出他是在回复哪一楼,但通常情况下并不影响效果。

你试试?我在这个帖子里回复了好多了,实际上效果还可以。
hjc4869
    69
hjc4869  
   2015-11-24 16:14:40 +08:00
@vitovan 感觉像机翻……
hjc4869
    70
hjc4869  
   2015-11-24 16:17:32 +08:00   1
//i.v2ex.co/E4E691wN.png
//i.v2ex.co/Z7L5i6kT.png
事实证明后端不实现这个功能,在前端实现实在是……
vitovan
    71
vitovan  
OP
   2015-11-24 16:34:13 +08:00
@hjc4869 实在是......
dsdshcym
    72
dsdshcym  
   2015-11-24 18:51:27 +08:00
@vitovan 求 Safari 版!
bazingaterry
    73
bazingaterry  
   
很有需求~谢谢!
Starduster
    74
Starduster  
   2015-11-24 21:03:26 +08:00
Umm
并不能打开, Chrome 46 on Mac

zonghua
    75
zonghua  
   2015-11-25 01:29:28 +08:00 via iPhone
评论嵌套,看起来像黄易新闻。 V2EX 的评论通知也是不能直接跳转定位的吧?
vitovan
    76
vitovan  
OP
   2015-11-25 05:32:30 +08:00
@Starduster 帮忙 F12 Debug 一下?控制台有没有说些什么?
vitovan
    77
vitovan  
OP
   2015-11-25 05:42:59 +08:00
[:doge:]
vitovan
    78
vitovan  
OP
   2015-11-25 06:00:34 +08:00
vitovan
    79
vitovan  
OP
   2015-11-25 06:22:04 +08:00
@zonghua 不能直接跳转定位。
确实像黄易新闻,哈哈,瞬间觉得逼格掉了一地。
vitovan
    80
vitovan  
OP
   2015-11-25 06:22:36 +08:00
r#22 自定义楼层标签测试。
zonghua
    81
zonghua  
   2015-11-25 10:38:04 +08:00 via iPhone   1
@vitovan 楼上有人说实现网状的(图论?)的评论显示,现实中的谈论的确是这样的关系,想法很超前,就是不知道怎么实现。
liyvhg
    82
liyvhg  
   2015-11-25 11:09:48 +08:00   1
试了一下, 非常方便, 居然还没有人圈 Livid
vem
    83
vem  
   2015-11-25 12:57:11 +08:00   1
NICE , 不错 很好用
vitovan
    84
vitovan  
OP
   2015-11-25 14:10:38 +08:00   2
r#61
@Coxxs
@hccbook
@imn1
@halfcoder
@FindHao
@goodbest

User Script 已出炉,测过 Tampermonkey 和 Greasemonkey ,多谢支持。

https://greasyfork.org/en/scripts/14182-v2excellent-js
JerseyGood
    85
JerseyGood  
   2015-11-25 14:30:18 +08:00   1
好用!赞
cyokvip
    86
cyokvip  
   2015-11-25 15:27:36 +08:00   1
7654
    87
7654  
   2015-11-25 15:31:44 +08:00
为什么我用了后评论头像变了
vitovan
    88
vitovan  
OP
   2015-11-25 15:46:16 +08:00
r#87 @7654 因为太大的话,嵌套起来不好看。
7654
    89
7654  
   2015-11-25 16:53:31 +08:00
r#88 @vitovan 但是我屏幕上是被左右压扁的
还有回复怎么还有跳转到创建新回复页面?
xxm459259
    90
xxm459259  
   2015-11-25 16:59:56 +08:00   1
好用,赞……(我的帖子引发的讨论确实很乱

直接解决了自己每次 Cmd+F 搜 ID 招人的状。。。
dotpig
    91
dotpig  
   2015-11-25 17:09:25 +08:00   1
很赞。终于搞清楚回复的上下文关系了。
vitovan
    92
vitovan  
OP
   2015-11-25 17:55:28 +08:00
r#89 @7654
# 左右压扁:截个图看看?我这还好啊......

# 跳转的新回复不是我干的...... 我之前没用这个插件时有时也会跳转到创建新回复页面,可能是 V2EX 的什么机制吧......
7654
    93
7654  
   2015-11-25 19:38:41 +08:00   1
r#92 @vitovan
看图,火狐 42.0_X64
hccbook
    94
hccbook  
   2015-11-25 20:42:20 +08:00   1
r#84 @vitovan 非常感谢,已经安装,已经亮星,用行动证明~~~
vitovan
    95
vitovan  
OP
   2015-11-26 05:17:24 +08:00 via Android
r#93 @7654 哈哈哈哈,这个,马上修复一下子。
vitovan
    96
vitovan  
OP
   2015-11-26 05:19:04 +08:00 via Android
r#70 @hjc4869 现在加了自定义楼层标签,可以直接指楼啦~
vitovan
    97
vitovan  
OP
   2015-11-26 05:39:16 +08:00   1
r#93 @7654 你更新下 User Script 试试,应该可以了。
7654
    98
7654  
   2015-11-26 08:06:56 +08:00
r#97 @vitovan 完美
starship
    99
starship  
   2015-11-26 15:34:41 +08:00
@vitovan 很棒的功能,只是“领取今日奖励” 那 老是显示“正在领取......”,等十几分钟也不显示“已领取”, win7 32 位, chrome
vitovan
    100
vitovan  
OP
   2015-11-26 15:36:46 +08:00
r#99 @starship 明天你再领的时候,帮忙 F12 看下控制台?
我今儿领了倒是没出啥问题......
1  2  
关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2586 人在线   最高记录 6679       Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 34ms UTC 09:52 PVG 17:52 LAX 02:52 JFK 05:52
Do have faith in what you're doing.
ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86