js 如何处理聊天内容重复

2015-03-11 17:43:34 +08:00
 vv122483

手机上有个网页版聊天功能,编辑好内容准备发送,由于网络问题,还有人多,点击发送,会有反应时间,他们就多点了几下,然后就会发出多条重复信息,js可以判断重复内容加以处理吗,求教大大,有什么好的解决方法。

2355 次点击
所在节点    问与答
10 条回复
ss098
2015-03-11 18:20:34 +08:00
记录上一次发出的内容,判断是否与上一条相同。
ihuguowei
2015-03-11 18:22:18 +08:00
1. 添加一个标志位,初始值为假,第一个 添加请求 发送的时候 设为真,直到这个请求结束后为假,在这个请求期间有新的请求时候判断 标志位,为真,不予发送。
2. 或者 ajax 设为同步
dong3580
2015-03-11 18:23:23 +08:00
@ihuguowei
第一种方式更好,第二种同样会遇到相同的情况的。
cevincheung
2015-03-11 18:24:33 +08:00
第一种方法简单粗暴效果显著。为了判断快速每条消息增加一个hash字段吧
ihuguowei
2015-03-11 18:26:53 +08:00
@dong3580 对对,是我考虑欠佳,即使是同步还是会发送的。
icedx
2015-03-11 18:47:40 +08:00
发送按钮附加清空文本框Buff
前提你网络足够好
sivacohan
2015-03-11 19:13:04 +08:00
每条消息给一个uuid,或者随便什么hash.
检查这个hash,不要检查内容。
leafx
2015-03-11 20:52:04 +08:00
不是应该点发送把后相把事件移除或者加个 isSending 什么的判断么,ajax收到应答再重新绑定事件or 改改变量的
billlee
2015-03-11 21:19:47 +08:00
点击发送按钮即清空文本框并上屏
然后开始发 ajax 请求,如果请求失败再提示发送失败。
iyaozhen
2015-03-11 21:36:58 +08:00
@billlee 这个方案比较好,先上屏再说,有问题出个感叹号。用户点击再重发,当前在之前程序需要重试几次。

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

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

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

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

© 2021 V2EX