V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
vv122483
V2EX  ›  问与答

js 如何处理聊天内容重复

  •  
  •   vv122483 · 2015-03-11 17:43:34 +08:00 · 2462 次点击
    这是一个创建于 3547 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    10 条回复    2015-03-11 21:36:58 +08:00
    ss098
        1
    ss098  
       2015-03-11 18:20:34 +08:00 via iPad
    记录上一次发出的内容,判断是否与上一条相同。
    ihuguowei
        2
    ihuguowei  
       2015-03-11 18:22:18 +08:00
    1. 添加一个标志位,初始值为假,第一个 添加请求 发送的时候 设为真,直到这个请求结束后为假,在这个请求期间有新的请求时候判断 标志位,为真,不予发送。
    2. 或者 ajax 设为同步
    dong3580
        3
    dong3580  
       2015-03-11 18:23:23 +08:00
    @ihuguowei
    第一种方式更好,第二种同样会遇到相同的情况的。
    cevincheung
        4
    cevincheung  
       2015-03-11 18:24:33 +08:00
    第一种方法简单粗暴效果显著。为了判断快速每条消息增加一个hash字段吧
    ihuguowei
        5
    ihuguowei  
       2015-03-11 18:26:53 +08:00
    @dong3580 对对,是我考虑欠佳,即使是同步还是会发送的。
    icedx
        6
    icedx  
       2015-03-11 18:47:40 +08:00 via Android
    发送按钮附加清空文本框Buff
    前提你网络足够好
    sivacohan
        7
    sivacohan  
       2015-03-11 19:13:04 +08:00 via Android
    每条消息给一个uuid,或者随便什么hash.
    检查这个hash,不要检查内容。
    leafx
        8
    leafx  
       2015-03-11 20:52:04 +08:00 via Android
    不是应该点发送把后相把事件移除或者加个 isSending 什么的判断么,ajax收到应答再重新绑定事件or 改改变量的
    billlee
        9
    billlee  
       2015-03-11 21:19:47 +08:00
    点击发送按钮即清空文本框并上屏
    然后开始发 ajax 请求,如果请求失败再提示发送失败。
    iyaozhen
        10
    iyaozhen  
       2015-03-11 21:36:58 +08:00
    @billlee 这个方案比较好,先上屏再说,有问题出个感叹号。用户点击再重发,当前在之前程序需要重试几次。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1615 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 16:55 · PVG 00:55 · LAX 08:55 · JFK 11:55
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.