gpt4 book ai didi

javascript - 有没有办法保存所选文本并在刷新页面后再次突出显示?

转载 作者:行者123 更新时间:2023-11-29 18:27:44 24 4
gpt4 key购买 nike

我正在尝试选择文本并将该选择保存在 localStorage 或 DB 中,并且我可以通过从存储中读回它来突出显示之前选择的文本。但是,如果所选文本位于页面中的多个位置,那么所有实例都会突出显示,这是我不想要的。我可以捕获所选文本的左侧和顶部,但在调整字体大小的情况下,左侧/顶部会发生变化。我不会在这里共享任何代码,因为没有与此相关的内容可以共享。仅供引用,我指的是 ipad 中的 iBooks 应用程序,它具有相同的功能,我想知道它是如何正确运行的?

更新:我尝试了一种新方法,其中我在所选文本周围添加标记,使用它我可以找出所选字符串的开头和结尾,以便稍后突出显示。您可以在此处查看演示:http://jsfiddle.net/codef0rmer/jE4w5/

但是在 iPad 中 rangeCount 不起作用,iPad 有什么解决方法吗?

最佳答案

您可以使用 window.getSelection() 获取有关当前选择的信息- 至少在现代浏览器中。它将返回 Selection对象,您可以从使用该对象提供的属性开始:

  • anchor 节点返回选择开始的节点。

  • anchor 偏移量返回选择的 anchor 在 anchorNode 内偏移的字符数。

  • 焦点节点返回选择结束的节点。

  • 焦点偏移返回所选内容的焦点在 focusNode 内偏移的字符数。

  • 已折叠返回一个 bool 值,指示选择的起点和终点是否在同一位置。

  • 范围计数返回选择中的范围数。

此外,使用 getRangeAt()方法,你可以得到 Range Selection 中的对象,它提供更有用的方法和属性。

我不知道你想用这个解决方案走多远,你的问题很笼统,所以这更像是一个你可以走的方向,而不是一个现成的解决方案。

关于javascript - 有没有办法保存所选文本并在刷新页面后再次突出显示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11433888/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com