访问iframe中可信区域内的选定图像

时间:2011-04-15 12:30:02

标签: javascript iframe contenteditable getselection

我有一个问题是获取src或id或iframe中可信任的div容器内的所选图像。好吧,可以通过getSelection()获取所选的文本信息 - 这样调用:

window.document.getElementById("monitor").contentWindow.document.getSelection();
// "monitor" = iframe id

但是如果我选择图像而不是文本,我只得到一个空的结果。我搜索了几个小时但没有找到任何解决方案。有人知道如何解决这个问题吗? (我正在使用Firefox 4)

1 个答案:

答案 0 :(得分:1)

window.getSelection()(其中document.getSelection()是HTML5兼容浏览器中的别名)返回Selection对象,而不是字符串(它只是表面上看起来是一个字符串,因为它的{{ 1}}方法返回所选文本)。对此最有用的方面是能够使用toString()获取一个或多个DOM Range个对象来表示选择。

获得一个Range后,获取它包含的所有DOM节点有点棘手。您可以使用我的Rangy库,它会在其Range的实现中添加getRangeAt()方法:

getNodes()