0

在 Firefox 扩展开发中,我想从 chrome 页面获取选定的内容,当我使用 content.getSelection() 时,它工作正常。

但如果所选文本在 iframe 中,则它不起作用。任何人都可以帮助我吗?

4

1 回答 1

4

您需要调用已选择文本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));
于 2012-06-12T07:19:33.340 回答