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

但是,如果所选文本在iframe中,则无法正常工作。有人可以帮助我吗?

最佳答案

您需要在已选择文本的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));

关于javascript - 当选定的文本在iframe中时,content.getSelection()不起作用?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10990690/

10-12 12:26