我有一个包含四个textarea的网页。假设页面网址为example.com?Id=5
现在我想要实现的是当两个用户访问此页面时。其中一个改变了任何文本区域的内容。然后它应该反映同一URL的所有其他用户的窗口中的更改。请说明实现此目的。
答案 0 :(得分:1)
Websockets可以是一个很好的解决方案。例如,您可以创建一个发布/订阅设计模式,其中两个用户将通过websocket订阅服务器。 。 。
var ws = new WebSocket('ws://yourdomain.com/ws-route');
ws.onmessage = function(m) {
console.log(m); // this is how you will receive your messages
ws.send('i am acknowledging your message and sending you back mine.');
}
来自任一用户的每个发送都将由服务器读取并发布回给两个用户(或其他用户,具体取决于您的策略)。这样,你就可以达到这个效果。例如,您可以使用textarea的值将on keyup或textarea上的某些东西挂钩到ws.send。那么你可以挂钩onmessage甚至在收到新的消息时改变textarea的值。