检测用户何时关注文档

时间:2019-05-29 18:12:39

标签: javascript jquery mutation-observers

我有两个人的聊天应用程序,例如,其中一个向第二个人发送消息。

当第二个传递并关注文档时,浏览器将检查父div中的最后一个元素是否具有“ his_message”类,如果存在,浏览器(通过socket.io)将消息发送给第一个用户(发送消息的用户) )他的伴侣已经看到他的信息,否则:什么也不做。

当Facebook通知您聊天伙伴已经看到您的消息时,这就像Facebook的“已看到”功能。

我用MutationObserver实现了我想要的东西:

const observer = new MutationObserver((mutations)=>{   
    if(document.hasFocus()){
    console.log($('#output > :last-child').attr('class'));
    socket.emit('seen')
    }
 })

observer.observe(output, { attributes: true, childList: true, characterData: true, subtree: true });

但是,如果您对其进行测试,您将知道它无法正常运行。那我该怎么做才能达到我的目标呢?谢谢!

1 个答案:

答案 0 :(得分:-1)

我认为最好的方法是将easch消息与需要布尔值的数据库列关联(例如:is_seen)...一旦确定焦点,则将数据库中的值更新为True ...,然后可以像单击Messenger应用一样,获取该值以显示单击该消息时所显示的状态。