V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
爱意满满的作品展示区。
BlackGlory

Gloria: Chrome 上的可编程网站通知聚合器, 编写脚本定时抓取页面弹出新内容提醒

  •  
  •   BlackGlory · Aug 26, 2016 · 13268 views
    This topic created in 3543 days ago, the information mentioned may be changed or developed.

    自制的 Chrome 扩展程序, 通过为特定网站编写 JavaScript 脚本来实现网站的提醒功能.

    Chrome 应用商店: https://chrome.google.com/webstore/detail/gloria/cnelmenogjgobndnoddckekbojgginbn

    这款扩展可以让知乎发出提醒:

    这款扩展可以让油管发出提醒:

    这款扩展可以让B 站发出提醒:

    这款扩展可以让P 站发出提醒:

    这款扩展可以实时显示Github 动态:

    这款扩展可以实时显示Steam 动态:

    你还可以用它发出Feedly 的通知, 不再堆积一大堆没看过的 RSS 订阅内容:

    甚至第一时间收到V2EX 酷工作的提醒:

    实现这些功能, 只需要你往 Gloria 里编写一段 JavaScript 代码, 剩下的 Gloria 会帮你搞定. 举个例子, 这是 B 站通知的代码:

    fetch('http://api.bilibili.com/x/feed/pull?ps=10&type=0&pn=1')
    .then(res => res.json())
    .then(json => {
      return json.data.feeds.map(feed => {
        return {
          title: feed.addition.title
        , message: feed.addition.description
        , iconUrl: feed.source.avatar
        , imageUrl: feed.addition.pic
        , url: feed.addition.link
        }
      })
    })
    .then(commit)
    

    关于代码如何编写, 我写了一份使用指南, 如果你对此有任何疑问, 请在本帖留言提出.

    另外, 我建立了一个网站专门用于分享 Gloria 的代码: Gloria.Pub, 用户可以在这里找到 /分享自己需要的脚本, 同时能够很方便的将代码装进 Gloria.

    如果这个扩展程序对你有用, 别忘了在 Github 给它加个 Star: https://github.com/BlackGlory/Gloria

    Supplement 1  ·  Aug 29, 2016

    2016/8/29 更新 0.9.0

    • 新增全局通知 Reducer (支持通过 Pushbullet 推送到移动端)
    • Gloria Notification 的 url 属性现在会检查是否已经有同 url 的页面被打开, 如果有则转到已打开的页面.
    21 replies    2025-02-21 22:51:36 +08:00
    mikuazusa
        1
    mikuazusa  
       Aug 26, 2016
    聚合通知,挺好的,很久以前就有这样的想法,这个结合 Chrome OS 肯定很好用,期望能移植到手机去
    mpco
        2
    mpco  
       Aug 26, 2016 via Android
    很不错
    qiayue
        3
    qiayue  
    PRO
       Aug 26, 2016
    楼主,已把你的作品收录到我的网站
    crystom
        4
    crystom  
       Aug 26, 2016
    @mikuazusa chromeos 即将支持 Googleplay 以后可能和安卓合体
    crystom
        5
    crystom  
       Aug 26, 2016
    能不能触发事件后,除了弹出 notification 之外还能向指定地址发请求。以便通过 pushbullet 等服务在手机上收到通知。
    BlackGlory
        6
    BlackGlory  
    OP
       Aug 26, 2016
    @crystom 我也有这个想法, 昨天看了一下 FCM 的文档, 发现必须要自建一个应用服务器才能从客户端发送通知到上游, 我担心这样会有人因为可能存在隐私问题而放弃使用, 就没有加入这方面的功能. 不知道 Pushbullet 需不需要自建服务器?
    BlackGlory
        7
    BlackGlory  
    OP
       Aug 26, 2016
    @qiayue 谢谢, 有网址可以观摩一下吗?
    greatghoul
        8
    greatghoul  
       Aug 26, 2016
    做了我一直想做的事,非常支持。
    qiayue
        9
    qiayue  
    PRO
       Aug 26, 2016
    @BlackGlory 还没正式上线,过段时间吧
    yxjxx
        10
    yxjxx  
       Aug 26, 2016
    暴力膜,不可取。

    不过楼主搞的这个扩展啊 excited
    DlYgod
        11
    DlYgod  
       Aug 26, 2016
    赞赞赞!
    xream
        12
    xream  
       Aug 26, 2016
    能做到点击通知后不直接跳转而是执行回调吗...比如实现点击 inbox 通知后优先切换到已经打开的 inbox 网页
    yehon
        13
    yehon  
       Aug 26, 2016 via iPhone
    楼主, 2 我不是技术,就是请教下: IFTT 是不是也有这功能?
    haocity
        14
    haocity  
       Aug 26, 2016
    赞赞赞!
    BlackGlory
        15
    BlackGlory  
    OP
       Aug 26, 2016
    @xream 执行回调应该是没法做到了, 任务代码的执行环境与扩展本身是隔离的, 之间的通信全是纯文本, 如果传回调的话, 免不了要在扩展的运行环境里执行自定义的代码, 将有可能污染到扩展的运行环境. 你提的优先切换到已打开页面的想法很好, 我会试着在之后的版本加上, 谢谢反馈.
    BlackGlory
        16
    BlackGlory  
    OP
       Aug 26, 2016
    @yehon IFTTT 需要网络服务接入 IFTTT, 提供的 Recipes 自由度也很有限.
    sinalvee
        17
    sinalvee  
       Aug 26, 2016
    挺不错的
    但是好想吐槽这个图标……
    fatedier
        18
    fatedier  
       Aug 27, 2016
    @BlackGlory 赞一个,写了一个获取 github 未读通知的脚本,不过不知道 Stage 的功能能否在脚本中设置是否启用,我希望每隔一段时间检查一次未读的通知,只要还未读取就会一直提醒,简单看了下好像和 Stage 的功能有些冲突。
    BlackGlory
        19
    BlackGlory  
    OP
       Aug 27, 2016   ❤️ 1
    @fatedier Stage 只会弹出新的消息, 所以确实存在冲突. Stage 是根据 title + message 来判断 notification 是否重复的, 你可以往 message 里加上一个会随时间改变的量, 这样 Stage 就会将 notification 判断为新的消息, 继而弹出提醒. 你也可以在创建完任务后启用“弹出的通知需要用户交互”, 这样通知就会一直存在到你点击通知为止.
    BlackGlory
        20
    BlackGlory  
    OP
       Aug 29, 2016
    @crystom 我更新了 0.9.0 版本, 现在可以支持 Pushbullet, 请参考 http://docs.gloria.pub/advanced/notification-reducer.html
    thee191410
        21
    thee191410  
       Feb 21, 2025
    目前本扩展还有网站不再更新了,目前还有其他类似的扩展吗?
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1452 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 53ms · UTC 17:09 · PVG 01:09 · LAX 10:09 · JFK 13:09
    ♥ Do have faith in what you're doing.