我试图写一个网站,允许用户突出显示一些文字(将背景更改为黄色),然后应用程序将保存这个,以便下次他或她回到页面时,&# 39;已经变黄了(好像他们从未离开过)。
这是一个两个问题:
我可以使用window.getSelection().toString()
获取文字,但我不知道如何将其作为选择器,因此我可以将选区的背景更改为黄色。
我不知道如何获得"地址"的选择。我需要这个,以便我可以将它保存到数据库,并在下次用户加载页面时将其着色为黄色。
编辑目前正在研究:https://github.com/timdown/rangy
答案 0 :(得分:2)
您希望将所选文本包装在<span>
中,并使用设置所需背景颜色样式的类。 This question应该有所帮助。
这在某种程度上取决于您的后端架构。您可能希望存储element with the highlighted text,以及突出显示的起点和终点的索引。然后,当再次提供该页面时,请相应地重新应用<span>
。如果您未在数据库中存储任何内容,则可以尝试将此数据存储在localStorage中,然后解析它并在页面加载时应用突出显示。
修改强> 我可能误会了。如果您正在谈论重置实际的突出显示(如重新选择文本),you can do that with JavaScript as well。您仍然需要一种方法来存储用户的选择数据,服务器端或localStorage。