在任意网页实时聊天的 Chrome 插件 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
ArchiTech
V2EX    分享创造

在任意网页实时聊天的 Chrome 插件

  •  
  •   ArchiTech 2016-12-31 07:58:29 +08:00 9137 次点击
    这是一个创建于 3256 天前的主题,其中的信息可能已经有所发展或是发生改变。

    分享一个 Chrome 插件,可以在任意网页实时聊天评论,并且可以保存网页方便日后查询。

    初衷是觉得浏览到某个网页时想和别人讨论看看,然而网页不一定有评论框,即便有也不是实时的,所以便做了这个插件,爱聊天的朋友就可以畅所欲言了。

    这里下载插件: https://chrome.google.com/webstore/detail/qtime-extension/bldcellajihanglphncgjmceklbibjkk

    官网在这里: https://quotime.me/

    不用注册也可以用插件。

    我不懂怎么在 V2EX 贴截图诶。。。

    48 条回复    2017-01-01 12:13:57 +08:00
    ixinshang
        1
    ixinshang  
       2016-12-31 08:19:38 +08:00 via Android   1
    挺不错的
    imn1
        2
    imn1  
       2016-12-31 09:24:10 +08:00
    这个运行原理是什么?是怎么找到一同浏览的人的?
    ArchiTech
        3
    ArchiTech  
    OP
       2016-12-31 09:25:43 +08:00
    @imn1 判断当前的 url, 我现在在这个页面 t/331386 你来就可以和我聊天
    imn1
        4
    imn1  
       2016-12-31 09:29:30 +08:00
    @ArchiTech
    要聊天肯定要 socket 吧?这个 socket 是怎么打通的?
    说点实质吧:获取共同浏览人的 ip 么?
    Kilerd
        5
    Kilerd  
       2016-12-31 09:36:53 +08:00 via iPhone
    @imn1 websocket 啊
    ArchiTech
        6
    ArchiTech  
    OP
       2016-12-31 09:44:25 +08:00
    对的, websocket
    imn1
        7
    imn1  
       2016-12-31 09:51:39 +08:00
    @Kilerd
    好吧,我语文不好
    我说的不是技术问题,说的是隐私问题
    我要确定我在骂巴萨的时候,巴萨球迷不能人肉我
    也要考虑给店家差评的时候……

    @ArchiTech
    想法 awesome ,不过我要考虑其他问题
    Kilerd
        8
    Kilerd  
       2016-12-31 09:52:54 +08:00 via iPhone
    @imn1 只要服务提供商不返回 ip 这些东西,感觉会查不出来吧
    skydiver
        9
    skydiver  
       2016-12-31 10:04:32 +08:00 via iPad
    问题是用的人不够多的话,很难找到人聊天
    batnss
        10
    batnss  
       2016-12-31 10:09:53 +08:00 via Android
    10 多年前有这种工具 页面加一段 js 即可
    changwei
        11
    changwei  
       2016-12-31 10:27:01 +08:00 via Android   1
    这种东西思路还听创新的嘛,楼上说十年前就有,我是不知道有这玩意儿。

    这思路其实很类似于视频弹幕一样,你我看到相同的内容,我们有感而发,大家互相看到。

    如果能大范围推广开来,就像前端人手安装一个百度 fe 插件那样火起来,还是很不错的
    ArchiTech
        12
    ArchiTech  
    OP
       2016-12-31 10:49:11 +08:00
    @skydiver 没错。。所以和收藏网页链接的功能结合在一起了,网站首页列一下当前比较多访问的链接,尝试汇聚一下人流。
    ArchiTech
        13
    ArchiTech  
    OP
       2016-12-31 10:50:26 +08:00
    @imn1 多谢 feedback
    rashawn
        14
    rashawn  
       2016-12-31 10:51:05 +08:00 via iPhone
    难道以后看个网页还要点击屏蔽弹幕……
    ArchiTech
        15
    ArchiTech  
    OP
       2016-12-31 11:04:15 +08:00
    @rashawn 哈~ 可以设置成默认是关闭的
    MonkeyDLuffy
        16
    MonkeyDLuffy  
       2016-12-31 11:15:04 +08:00
    @ArchiTech 是不是玩挂了
    ArchiTech
        17
    ArchiTech  
    OP
       2016-12-31 11:28:43 +08:00
    @MonkeyDLuffy 怎么了,我这里没问题。
    batnss
        18
    batnss  
       2016-12-31 11:31:58 +08:00 via Android
    @changwei 需要站长主动加一段 js 然后长相就类似简洁版 qq 太久了 忘记叫啥了
    haiyang416
        19
    haiyang416  
       2016-12-31 11:35:42 +08:00 via Android
    记得好几年前这里也有人发过这样的工具,不知道后来怎么样了。
    kn007
        20
    kn007  
       2016-12-31 13:36:51 +08:00
    直接贴图地址就行了,话说什么时候完善成这样了,哈哈
    kn007
        21
    kn007  
       2016-12-31 13:44:52 +08:00
    话说同个人不同窗口打开聊天窗口,现在虽然是会合并显示,但后面的窗口数没什么必要显示,而且目前有个 bug
    kn007
        22
    kn007  
       2016-12-31 13:45:47 +08:00
    额,是自动改名了,自动加了个(2),多次就会重复加。
    exoticknight
        23
    exoticknight  
       2016-12-31 13:48:54 +08:00
    这个其实就是跟服务器沟通吗?
    那服务器掉线了咋办
    ArchiTech
        24
    ArchiTech  
    OP
       2016-12-31 15:16:02 +08:00
    @kn007 原来的 repo 里很久前就是这样了,但你好像没 pull 新版的去用
    ArchiTech
        25
    ArchiTech  
    OP
       2016-12-31 15:19:57 +08:00
    @kn007 恩,我基本直接把旧的 code base 移植到 chrome 插件里了,按 url 划分房间的新用法和原来设计的情境不完全一样,所以有这些 bug ,等有空改改。。
    ArchiTech
        26
    ArchiTech  
    OP
       2016-12-31 15:25:21 +08:00
    @exoticknight 恩,是跟服务器沟通,服务器接收以后再广播信息。
    服务器宕机这个问题不针对这个应用吧,一般都是跑多台服务器, load balancer 对每台服务器做 health check ,挑在线的服务器转发请求。
    如果两个人想私聊倒是可以考虑增加点对点的通讯,完全不用经过服务器。我并没有做这个功能。。
    solomaster
        27
    solomaster  
       2016-12-31 16:00:22 +08:00
    你们都不看新浪 nba 的嘛? 这玩意一直都有。
    yangxiongwei
        28
    yangxiongwei  
       2016-12-31 16:09:11 +08:00
    以前一次黑客马拉松,做了一系列有关弹幕的小玩意。

    其中有个就是,在任何网页,通过弹幕实时聊天的插件。
    ArchiTech
        29
    ArchiTech  
    OP
       2016-12-31 16:28:47 +08:00
    @yangxiongwei 弹幕的形式确实有趣,不过不会影响用户点击原网页的内容吗?是用 Iframe 或者 canvas?
    exc
        30
    exc  
       2016-12-31 16:44:49 +08:00
    刷新页面后图片就不显示了 不同页面的聊天信息都可以看到

    @ArchiTech 点对点通迅应该怎么实现 要经过服务器告诉彼此的 IP:Port 吗
    liaoyaoheng
        31
    liaoyaoheng  
       2016-12-31 17:12:28 +08:00
    ArchiTech
        32
    ArchiTech  
    OP
       2016-12-31 17:18:22 +08:00
    @exc 对的,两个都是实际存在的 bug, 有时间会尽快修 :P
    我还没做点对点的功能呢,服务器肯定要的,如果做的话应该会直接用这个库-http://socket.io/blog/socket-io-p2p/ , 双方先经过服务器交换数据然后升级为 p2p 协议。。。
    选这个是因为觉得 socket.io 挺好用的,所以估计这个也不错。
    ArchiTech
        33
    ArchiTech  
    OP
       2016-12-31 17:20:17 +08:00
    @liaoyaoheng lol, 那个只是 Incognito Window 啦!
    kn007
        34
    kn007  
       2016-12-31 17:33:00 +08:00
    @ArchiTech 新版我有在你那边测试过,没什么问题,不会出现(2),嘿嘿。
    我主要是因为不想让其他人知道都有谁在,所以没更新。而且新的代码记得变动大了,我要重新理一遍。

    我说的窗口数,主要指 name 后面会带(2)。

    @liaoyaoheng 隐身模式就黑了。

    @exc 主要是因为聊天记录的储存方式所致,图片内容如果以 base64 的话,多的话,会占用过多空间。服务器本身不储存图片。
    kn007
        35
    kn007  
       2016-12-31 17:36:31 +08:00
    @exc 至于不同页面聊天信息一致问题,可能因为是目前处于同一个房间(概念上),@ArchiTech 到时可能会对页面( host 、 req )这块做出处理,就可以不同 tab 不同聊天室,或者不同站点不同聊天室了。
    kn007
        36
    kn007  
       2016-12-31 17:44:40 +08:00
    我想到个比较大的问题,就是我们的 block 系统没做好。(新版我记得也不行,只能 close ,但是还能重新请求)
    如果到时有人四处发 ad 怎么办?
    kn007
        37
    kn007  
       2016-12-31 17:45:24 +08:00
    kick 我记得上次试了,并未用?
    或许我记错。
    FreeDog
        38
    FreeDog  
       2016-12-31 18:00:43 +08:00   1
    增加屏蔽话不投机的人功能才好玩~ 不然都是小广告什么的很烦
    hebeiround
        39
    hebeiround  
       2016-12-31 20:37:08 +08:00 via iPhone
    这个功能之前见过蛮多的。
    只是大部分做成标注类型的
    这样的实时聊天倒是很有意思
    caomu
        40
    caomu  
       2016-12-31 21:50:05 +08:00 via Android
    google 曾经有过一个 sidewiki ,后来的 google+也有类似的网页评论功能。。。后来。。。
    lain0
        41
    lain0  
       2017-01-01 01:49:32 +08:00   1
    官网上说此项目是开源的,



    可以把源代码公布一下吗?
    dphdjy
        42
    dphdjy  
       2017-01-01 09:29:26 +08:00 via Android   1
    如果抛开网页评论,这个功能几年前火狐出过一个,一行 js 引入实时协作,可以记录聊天内容,同步网页修改什么的。。。
        43
    xlvecle  
       2017-01-01 09:52:49 +08:00   1
    几年前很想做个这样的评论的软件,楼主有心了
    kn007
        44
    kn007  
       2017-01-01 10:01:31 +08:00
    @lain0 详见 Github 。
    kn007
        45
    kn007  
       2017-01-01 10:02:16 +08:00
    @lain0 下面有个“关于”,看网页,不看 footer 么?
    lain0
        46
    lain0  
       2017-01-01 12:01:10 +08:00
    @kn007 看到了,谢谢。没有注意到 GitHub 链接在「关于」里。
    kn007
        47
    kn007  
       2017-01-01 12:03:25 +08:00
    @lain0 不客气
    Rice
        48
    Rice  
       2017-01-01 12:13:57 +08:00 via iPhone
    至少 5 年前就有这玩意,是 js 实现,弹幕式聊天,后来可能倒闭了吧
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1114 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 17:12 PVG 01:12 LAX 09:12 JFK 12:12
    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