2

这是一个后续问题。我一直在尝试使用 rangy 从 iframe 中获取选定的文本。该代码似乎适用于非 iframe 内容。根据rangy 的文档,它应该可以工作。

这是演示:http: //jsfiddle.net/codef0rmer/UuJ5G/

4

1 回答 1

4

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

如果文档确实来自同一个域,那么您可以使用以下方法进行选择rangy.getIframeSelection()

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

Rangy 1.3 放宽了对传递给rangy.getSelection()and的参数的限制rangy.createRange():两者都将接受任何窗口、文档或<iframe>元素,因此您只需将 iframe 传递给rangy.getSelection()

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

于 2012-07-18T09:28:22.807 回答