这是followup question。我一直试图使用rangy从iframe中获取所选文本。该代码似乎适用于非iframe内容。根据{{3}},它应该有效。
以下是演示:rangy's doc
答案 0 :(得分:2)
您的示例中的问题是iframe的文档来自与主文档不同的域,这意味着在主文档中运行的脚本无法访问iframe中的文档。如果文档来自同一个域,则浏览器只允许在文档之间编写脚本。
如果文档确实来自同一个域,那么您可以使用rangy.getIframeSelection()
:
Rangy 1.3放宽了对传递给rangy.getSelection()
和rangy.createRange()
的参数的限制:两者都会接受任何Window,Document或<iframe>
元素,因此您只需将iframe传递给{ {1}}: