15651980765
V2EX  ›  问与答

网页端能实现类似 QQ、微信移动端那种浏览消息时来新消息右下角出提示的功能吗?

  •  
  •   15651980765 · Aug 12, 2019 · 1679 views
    This topic created in 2474 days ago, the information mentioned may be changed or developed.

    需求:浏览消息时收到新消息,右下角出提示。点击提示滚到新消息处,提示消失。手动滚到新消息处时提示也会消失。

    原来的逻辑:不论是自己发消息还是收到消息,都会自动滚到底部。

    我的实现方案:有新消息时,判断是否是自己发送的,如果是走原来的逻辑。如果是收到别人发来的消息,判断当前滚动条是否在底部,如果在底部,走原来的逻辑;如果不在底部,展示新消息提示。

    遇到的问题:用到的框架是 angularjs,push 新消息后,滚到底部用一层 timeout 包裹,这样能保证在页面渲染出新消息后才执行滚到底部。但是,如果收到消息很快很多,上一条消息可能还没来得及滚到底部,就开始对下一条消息做处理,导致判断滚动条是否到底部时有可能为 false,本来不该出现提示的情况出现了提示。

    暂时想到的解决办法: 不严格判断滚动条是否到底部,给一个容错的高度,滚动条距离底部超过这个高度才认为在浏览消息,允许出提示。

    想请教下大佬们,我这个解决方法是否可行,有没有更加靠谱的方法。

    4 replies    2019-08-12 19:24:14 +08:00
    akira
        1
    akira  
       Aug 12, 2019
    谷歌浏览器有自带这个功能吧
    izoabr
        2
    izoabr  
       Aug 12, 2019
    HTML5 支持的新特性,关键字:Notification
    izoabr
        3
    izoabr  
       Aug 12, 2019
    实时消息,关键字:Websocket
    izoabr
        4
    izoabr  
       Aug 12, 2019
    嗯,然后你的标题的问题跟内容提的问题不是一个,也怪我没好好看内容
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1446 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 23:59 · PVG 07:59 · LAX 16:59 · JFK 19:59
    ♥ Do have faith in what you're doing.