我的网站中有一个 TextArea ' TA ',用户可以在其中同时编辑其文本。
到目前为止我所做的如下,
- 我在服务器端设置了一个全局变量' content '来捕获/监控TA的值
- 一个 javascript Ajax 函数“ JU ”,它将TA的值存储到变量“content”中,以用于TA中的任何更改。换句话说,如果用户在TA中键入任何内容,则内容值会通过 onkey() 函数更新(content=TA.value)
- 一个 JavaScript Ajax 函数“ JR ”,每秒读取变量“content”以使用 TA.value=content 更新 TA
但是,使用这种方法,我面临着竞争条件或类似问题。例如,如果我在TA中快速写入,一些字母会被删除,因为TA在存储我写到 'content' 的内容之前会读取变量 ' content ' 以更新其值
我尝试了一些技巧,例如在每次用户键入时重置JR的计时器以更新TA,但是,问题仍然存在,尽管较少。此外,使用这种方法,如果用户继续输入,他将无法看到其他用户在写什么,直到稍后......
提前致谢!
PS:我使用python作为服务器端语言(瓶子框架)