3

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

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

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

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

谢谢, EZFrag

4

1 回答 1

2

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

于 2012-04-12T08:38:04.877 回答