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

2019-08-12 18:44:11 +08:00
 15651980765

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

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

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

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

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

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

1348 次点击
所在节点    问与答
4 条回复
akira
2019-08-12 19:04:45 +08:00
谷歌浏览器有自带这个功能吧
izoabr
2019-08-12 19:21:19 +08:00
HTML5 支持的新特性,关键字:Notification
izoabr
2019-08-12 19:22:08 +08:00
实时消息,关键字:Websocket
izoabr
2019-08-12 19:24:14 +08:00
嗯,然后你的标题的问题跟内容提的问题不是一个,也怪我没好好看内容

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/591277

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX