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

分享一个自己做的Chrome插件,V2EX Notifications

  •  
  •   lackrp · 2012-05-21 14:58:29 +08:00 · 6593 次点击
    这是一个创建于 4568 天前的主题,其中的信息可能已经有所发展或是发生改变。
    传送门: https://chrome.google.com/webstore/detail/jfkgdiedphggdhbiaebblaccdenoiaaj

    小弟实力有限,希望各位多提意见 :)
    53 条回复    1970-01-01 08:00:00 +08:00
    romoo
        1
    romoo  
       2012-05-21 15:01:46 +08:00
    用过剧透版,很赞!
    qq286735628
        2
    qq286735628  
       2012-05-21 15:03:23 +08:00
    建议增加两种数据的显示~
    收藏节点中更新数据的显示~
    特别关注中更新数据的显示~
    sd4399340
        3
    sd4399340  
       2012-05-21 15:18:16 +08:00
    不错啊,好东西~
    jakobzheng
        4
    jakobzheng  
       2012-05-21 15:19:52 +08:00
    赞 同意二楼
    nodexy
        5
    nodexy  
       2012-05-21 15:20:06 +08:00
    刚发了一个求交流的帖子,就看到LZ的这个 。。。

    我先去看看源码,不懂的回头请教下 :)
    romoo
        6
    romoo  
       2012-05-21 15:25:24 +08:00
    @qq286735628 @jakobzheng 嗯,可以增加一个 tab 展示 /my/following
    lackrp
        7
    lackrp  
    OP
       2012-05-21 15:35:56 +08:00
    @qq286735628 @jakobzheng 嗯,多谢建议,我尝试一下哈
    jiajizhou
        8
    jiajizhou  
       2012-05-21 15:40:14 +08:00
    牛~
    lackrp
        9
    lackrp  
    OP
       2012-05-21 15:45:19 +08:00
    @jiajizhou 神牛,是你吗?
    jiajizhou
        10
    jiajizhou  
       2012-05-21 16:12:27 +08:00
    @lackrp 哈哈,我是搜Diablo3的代理搜到这个网站的...然后就看到了你的头像。这里貌似回复还要金币啊=.=
    0days
        11
    0days  
       2012-05-21 16:30:41 +08:00
    感觉不错,就觉得这东西会有人做
    lackrp
        12
    lackrp  
    OP
       2012-05-21 16:36:07 +08:00
    @jiajizhou 自从你不上Gtalk之后,找你真不容易啊。我明天来上海,待一周,找个时间一起吃个饭?
    jiajizhou
        13
    jiajizhou  
       2012-05-21 16:39:51 +08:00
    @lackrp 啊,找我可以用weibo~gtalk上的人太少了,我经常忘记开。好,随时有空,我电话没换过,打我电话吧:)
    lackrp
        14
    lackrp  
    OP
       2012-05-21 16:41:48 +08:00
    @jiajizhou 我微博帐号被封了。。。
    j1945
        15
    j1945  
       2012-05-21 19:16:50 +08:00
    好物~试用先
    zythum
        16
    zythum  
       2012-05-21 19:48:29 +08:00
    挺不错的。
    ui上可以再改改就更好了。

    话说什么时候pb3的具体的api列表可以公布啊..
    lackrp
        17
    lackrp  
    OP
       2012-05-21 20:40:56 +08:00
    @zythum +1 等PB3的API啊,等得花儿也谢了
    romoo
        18
    romoo  
       2012-05-21 22:06:11 +08:00
    好多人都在等 API 啊。
    gDD
        19
    gDD  
       2012-05-21 22:28:38 +08:00
    加个LICENSE吧,推荐MIT
    lackrp
        20
    lackrp  
    OP
       2012-05-21 22:57:58 +08:00
    @romoo 没有API,感觉做起来很别扭,比如我之前去掉了桌面提醒,有一大半的原因是因为没有API导致的
    lackrp
        21
    lackrp  
    OP
       2012-05-21 22:59:09 +08:00
    @gDD 请问,MIT比其他协议的优势在于?
    Livid
        22
    Livid  
    MOD
       2012-05-22 03:35:27 +08:00
    Notification feed is deployed:

    http://www.v2ex.com/notifications
    gDD
        24
    gDD  
       2012-05-22 10:07:08 +08:00   ❤️ 1
    @lackrp http://bitcoin.stackexchange.com/a/1898 ,MIT基本是JavaScript/CSS领域的标配License。不过不管选什么有总比没有好,没有表示保留所有权利,不适合放到GitHub上。
    yyfearth
        25
    yyfearth  
       2012-05-22 10:18:15 +08:00
    貌似还不错,G+主题
    放到GitHub上面开源还是加上一个License比较好,一半JS用MIT的多。
    MIT最宽松,基本上别人那你代码干什么都可以。
    colossuspeng
        26
    colossuspeng  
       2012-05-22 10:30:18 +08:00
    为什么不搞个background.html,所有内容全放在popup.html这样好像不能定时更新在badge上显示的提醒数,打开速度也很慢。
    lackrp
        27
    lackrp  
    OP
       2012-05-22 15:18:18 +08:00
    @Livid 我感觉这个notification feed同时包含了两个功能:1. 获取所有的notifications内容;2. 将所有的notifications标记为已读。这使得我使用这个API的时候有些蹩脚,也就是说,如果想得到notifications的内容就不得不将它们标记为已读,即使用户还没有看到这些notifications。如果将这两个功能分开成两个不同的API,你觉得如何呢?
    lackrp
        28
    lackrp  
    OP
       2012-05-22 15:20:42 +08:00
    @gDD @yyfearth @romoo 谢谢各位,原来不加License是保留所有权利啊。那是不是只需要在repo里面加个LICENSE文件就可以?还是说需要在每个文件开头都加上一段话?
    mkeith
        29
    mkeith  
       2012-05-22 15:22:58 +08:00
    @zythum 在学js 想试着做个chrome的插件,请问chrome的api文档在哪儿找啊?最好是离线版本的.
    lackrp
        30
    lackrp  
    OP
       2012-05-22 15:23:56 +08:00
    @colossuspeng 谢谢你的建议。这个想法我之前有考虑过,但感觉以目前的API实现起来有些问题。请先参考一下#27楼。如果将notifications缓存在background.html里,会造成一种可能的错误:用户在看到这些notifications之前,它们就被标记为已读了。这个状态的不一致会造成一些问题,比如多终端登陆的时候,可能会有一个终端的未读提醒数永远是零。
    rse43
        31
    rse43  
       2012-05-22 15:26:02 +08:00
    "2. 将所有的notifications标记为已读。" - @lackrp

    似乎没有这个功能,应该是只读的。
    romoo
        32
    romoo  
       2012-05-22 15:26:19 +08:00
    加个 LICENSE 就好了,Like this: https://github.com/livid/v2ex/blob/master/LICENSE
    zythum
        33
    zythum  
       2012-05-22 15:30:59 +08:00
    lackrp
        34
    lackrp  
    OP
       2012-05-22 15:51:37 +08:00
    @rse43 每次访问了 http://www.v2ex.com/notifications 之后,未读消息数就变成零了,不是么?
    rse43
        35
    rse43  
       2012-05-22 16:00:53 +08:00
    @lackrp 是的,但是访问rss feed似乎并没有这个效果。
    lackrp
        36
    lackrp  
    OP
       2012-05-22 16:06:01 +08:00
    @rse43 哦?那看来是我理解错了。怎么访问这个rss feed?
    lackrp
        37
    lackrp  
    OP
       2012-05-22 16:08:52 +08:00
    @rse43 找到了,原来是在notifications页面的最下面。多谢多谢。那么要怎么才能知道/n/{id}.xml里面这个id是多少呢。。
    romoo
        38
    romoo  
       2012-05-22 16:12:24 +08:00
    @lackrp 让用户自己去填 feed 地址吧。
    lackrp
        39
    lackrp  
    OP
       2012-05-22 16:35:47 +08:00
    @romoo 要求太高了,你看,我用了如此长的时间才发现了那个feed。。。如果还要复制粘贴。。。我觉得我的智商受到了极大的挑战。。。
    lackrp
        40
    lackrp  
    OP
       2012-05-22 16:37:15 +08:00
    @Livid 请帮忙看一下reply#37,多谢
    romoo
        41
    romoo  
       2012-05-22 16:41:07 +08:00
    @lackrp 可能刚到上海水土不服吧。。。
    zythum
        42
    zythum  
       2012-05-22 16:48:06 +08:00
    @lackrp 目前围脖也是这样的。很多地方的未读数的出来都是这样的。
    lackrp
        43
    lackrp  
    OP
       2012-05-22 17:28:27 +08:00
    @romoo 嗯,脑子掉在半路了
    lackrp
        44
    lackrp  
    OP
       2012-05-22 17:43:12 +08:00
    我觉得还有一点想不太明白。假设我们允许用户自己填feed地址,且这个用户有两个帐号A和B,这时,用户填写帐号A的feed地址,但是浏览器里登陆的是帐号B,那么当用户通过帐号A的feed打开 /notifications 时,看到的却是B的提醒。

    相比用id区分不同用户的notification feed,我更倾向于类似于log-in/cookies的做法,或者这两个方法都保留

    你觉得呢?cc @Livid
    Livid
        45
    Livid  
    MOD
       2012-05-22 17:56:48 +08:00
    @lackrp 那个输入框应该是 readonly 的,并非是可以让用户输入。现在已经修正。

    另外,我考虑增加一个设置已读标记的接口。
    lackrp
        46
    lackrp  
    OP
       2012-05-22 18:03:31 +08:00
    @Livid Sorry,没表述清楚,我想说的输入是相对于这个插件而说的,换言之,用户将这个feed地址复制粘贴到插件的选项中。
    另外,从另一个thread /t/36919 中的讨论,是不是不打算支持通过cookies区分用户的方式?
    多谢
    Livid
        47
    Livid  
    MOD
       2012-05-22 18:05:18 +08:00
    @lackrp 目前是每个用户对应一个属于自己的 /n/private_token.xml
    lackrp
        48
    lackrp  
    OP
       2012-05-22 18:26:09 +08:00
    @Livid 嗯,那么除了notifications,还有其他地方有用到这个private token吗?
    qq286735628
        49
    qq286735628  
       2012-06-09 10:34:45 +08:00   ❤️ 1
    @lackrp
    反馈个建议,现在的notifications,貌似不能后台打开页面。
    比如我看到几条感兴趣的话题,但我只能打开第一条,想打开第二条的话,又得重新打开notifications并找到那个地方
    lackrp
        50
    lackrp  
    OP
       2012-06-09 11:28:03 +08:00
    @qq286735628 谢谢,我不是很清楚这个要如何实现,让我思考一下
    qq286735628
        51
    qq286735628  
       2012-06-09 11:35:43 +08:00
    @lackrp 你可以参考一下fawave,在插件里面浏览微博信息的时候,鼠标左键点击连接,浏览器会后台打开新的页面,但插件的界面不会消失
    lackrp
        52
    lackrp  
    OP
       2012-06-10 02:15:19 +08:00
    @qq286735628 使用了一下fawave,好像点击链接之后,浏览器后台打开页面,但是插件popup还是会消失。不知道是不是我使用的方法不对。我们可以私下里交流,我的邮箱:[email protected]
    romoo
        53
    romoo  
       2012-10-11 16:38:05 +08:00
    @lackrp 用 chrome.tabs.create 方法,selected 的属性为 false 就可以后台打开新页面了,奇怪 http://developer.chrome.com/extensions/windows.html#current-window 里面居然没写。

    http://gist.github.com/3871009
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5245 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 08:49 · PVG 16:49 · LAX 00:49 · JFK 03:49
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.