目标C - UIWebview - 将javascript文本范围转换为目标c对象,反之亦然

Objective C - UIWebview - Convert javascript text range to objective c object and vice versa

本文关键字:目标 反之亦然 转换 对象 文本 UIWebview javascript 范围      更新时间:2023-09-26

我有一个UIWebview,其中显示html内容。 当用户选择一段文本时,我想使用目标 C 保存该文本的范围,然后在稍后阶段调用该保存的范围以在 UIWebview 中重新选择文本。

我能得到的最接近的是以下javascript:

var selection = window.getSelection();
var range = selection.getRangeAt(selection.rangeCount);

但是我不知道如何将范围对象返回到目标 c 以保存它并在以后重用它。谁能直接指出我正确的方向?

谢谢埃兹弗拉格

您可以将范围序列化为一个字符串,该字符串表示通过 DOM 到达起点和终点的路径。我的 Rangy 库有一个序列化程序模块可以做到这一点,但对于移动 Safari,仅仅依靠一个相对较大的库来完成这个任务可能是矫枉过正的。有关使用相同想法的更轻量级脚本,请参阅Martin Honnen的脚本:http://home.arcor.de/martin.honnen/javascript/storingSelection1.html