保存文本中光标高亮显示的位置


Save cursor highlight position in text

我需要显示一个文档(就像在谷歌文档风格的视图中一样),并为用户提供对该文档发表评论的能力。

以下是它需要如何工作:

  • 当用户查看文档时,他们可以使用鼠标高亮显示他们想要的任何数量的文本(就像在任何其他网页中一样)
  • 高亮显示发布后,会出现某种模式对话框,询问他们想对所选文本的那部分发表什么评论
  • 在模式框中单击"保存"后,他们的注释将与高亮显示的文本部分的信息一起保存在MySQL数据库中
  • 其他用户可以查看此文档,并查看他们对文本不同部分的评论

我不知道如何告诉数据库突出显示了文本的哪个部分,以便它可以引用该部分并显示对该部分文本的评论。

不确定你被困在哪里,但基本想法是:

  1. 使用Javascript获取所选文本(请参阅http://www.codetoad.com/javascript_get_selected_text.asp例如)

  2. 使用HTML表单或AJAX方法将文本提交到PHP脚本中(根据应用程序的描述,AJAX可能是您想要的)。

  3. 将传递给PHP脚本的文本插入到数据库中。

  4. 像摇滚明星一样参加派对。

在Javascript中:

var selectedText;
selectedText = window.getSelection();

我建议采用某种基于字符索引的方法。我最近在这里回答了一个类似的问题:execCommand insertHTML破坏存储的窗口.getSelection()