V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
vitovan
V2EX  ›  分享创造

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

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

跳过正文: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  
   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:
https://www.v2ex.com/api/replies/show.json?topic_id=238403 (获取这个主题的所有回复)

附上一个效果图 : )
Tink
    17
Tink  
   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 。
zwik
    55
zwik  
   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  
   2015-11-24 19:38:49 +08:00
很有需求~谢谢!
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 但是我屏幕上是被左右压扁的
还有回复怎么还有跳转到创建新回复页面?
pandachow
    90
pandachow  
   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   ·   实用小工具   ·   1800 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 34ms · UTC 16:30 · PVG 00:30 · LAX 08:30 · JFK 11:30
Developed with CodeLauncher
♥ Do have faith in what you're doing.