【发布时间】:2011-09-05 21:04:27
【问题描述】:
我正在尝试掌握保存(序列化)和恢复(反序列化)DOM 选择或范围的最佳方法。这里有一篇关于对范围对象进行字符串化的帖子,但坦率地说,它并没有真正起作用。
情景是一本使用 Adobe Air 的 Webkit 视图的交互式教科书。我有静态(内置)html 内容,用户可以突出显示和添加书签(注释)。这种机制一切正常,但我需要能够存储和恢复这些注释。我宁愿不存储 DOM 的修改版本,而是使用静态版本,然后重新应用我存储在 SQLite DB 中的用户注释以及其他所需的元数据。 DOM 操作对我来说相当新,到目前为止,我尝试序列化 DOM::range 的尝试都失败了。但我意识到,我似乎真的只需要开始和结束容器以及开始和结束偏移量。然后我可以使用 document.createRange() 重新创建范围。
我可以使用的指导是序列化开始和结束容器的最佳方法。我的第一个想法是 xpath,但到目前为止,我的尝试都失败了。查看 DOM::Range 的 Mozilla 文档似乎很简单,但是创建一个可靠的 xpath 来恢复范围对我来说并不是很容易。
【问题讨论】:
标签: javascript dom actionscript xpath webkit