如何使用rangy从iframe中获取所选文本?

时间:2012-07-18 08:17:17

标签: javascript rangy

这是followup question。我一直试图使用rangy从iframe中获取所选文本。该代码似乎适用于非iframe内容。根据{{​​3}},它应该有效。

以下是演示:rangy's doc

1 个答案:

答案 0 :(得分:2)

您的示例中的问题是iframe的文档来自与主文档不同的域,这意味着在主文档中运行的脚本无法访问iframe中的文档。如果文档来自同一个域,则浏览器只允许在文档之间编写脚本。

如果文档确实来自同一个域,那么您可以使用rangy.getIframeSelection()

进行选择

http://jsfiddle.net/UuJ5G/42/

Rangy 1.3放宽了对传递给rangy.getSelection()rangy.createRange()的参数的限制:两者都会接受任何Window,Document或<iframe>元素,因此您只需将iframe传递给{ {1}}:

http://jsfiddle.net/2d6Bk/56/