在Firefox扩展开发中,我希望从chrome页面中获取所选内容,当我使用content.getSelection()时,它的工作正常。
但如果所选文本位于iframe中,则无法正常工作。有人可以帮帮我吗?
答案 0 :(得分:3)
您需要在已选择文字的getSelection()
对象上调用window
。例如,如果内容文档中有<iframe id="iframe">
,您将使用以下内容获取该框架中的选择:
alert(content.document.getElementById("iframe").contentWindow.getSelection());
如果您不知道用户选择文本的位置并且您想要查看所有框架,那么您应该从顶层开始递归遍历它们,如下所示:
function getSelection(wnd)
{
var result = wnd.getSelection();
for (var i = 0; !result && i < wnd.frames.length; i++)
result = getSelection(wnd.frames[i]);
return result;
}
alert(getSelection(content));