Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/471.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何保存突出显示的html文本供以后使用?_Javascript - Fatal编程技术网

Javascript 如何保存突出显示的html文本供以后使用?

Javascript 如何保存突出显示的html文本供以后使用?,javascript,Javascript,我试图将突出显示的文本保存在网页中,这样当用户重新登录时,他会得到相同的突出显示文本 我的做法如下: 1使用window.getSelection方法从所选文本中获取偏移量和节点详细信息 2将它们保存在数据库中 3使用保存的详细信息,并在用户重新登录时再次突出显示文本 在对其他站点和堆栈交换进行研究后,我发现我可以通过创建一个范围对象来动态突出显示文本,该范围对象需要node和offset no作为其参数,如以下代码所示 var range = document.c

我试图将突出显示的文本保存在网页中,这样当用户重新登录时,他会得到相同的突出显示文本

我的做法如下:

1使用window.getSelection方法从所选文本中获取偏移量和节点详细信息

2将它们保存在数据库中

3使用保存的详细信息,并在用户重新登录时再次突出显示文本

在对其他站点和堆栈交换进行研究后,我发现我可以通过创建一个范围对象来动态突出显示文本,该范围对象需要node和offset no作为其参数,如以下代码所示

               var range = document.createRange();
               range.setStart(startNode, start_offset );  // node and offset are provided in parameters.
               range.setEnd(endNode, end_offset );
现在,当用户选择文本时,我可以使用window.getSelection方法提取所选文本的开始和结束偏移量。但我无法提取节点的详细信息

现在我不知道如何提取节点细节 并将其保存在文件或cookie中,以便我可以突出显示相同的内容 当用户再次打开浏览器时,再次显示文本

我试图在internet和堆栈交换中找到最好的解决方案,但没有一个站点给出保存节点信息的解决方案

请帮助我找到一个解决方案,这样这项工作也可以对其他人有用


提前感谢。

谢谢您的链接。根据rangy.js库,仅为当前浏览器会话保存选择。有没有办法将所选内容保存在文件、cookie或数据库中以备日后使用?当然,只需在此处搜索AJAX以及您喜欢的每个数据库。