javascript - 当所选文本位于 iframe 中时,content.getSelection() 不起作用?

标签 javascript firefox firefox-addon

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

但是如果所选文本位于 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/

相关文章:

css - 使用变换和可见性 CSS 属性时,SVG 未出现在 Firefox 中

javascript - Firefox Developer Edition - 无法在调试器中查看 JavaScript 文件

css - Firebug 布局选项卡与 Firefox 响应式工具不一致

javascript - jQuery 多操作按钮

javascript - 如何向元素添加滚动类并在完成后将其删除

Javascript createElement 在 IE 中不起作用

css - Firefox 按钮中的旋转(使用 css)不起作用,除非光标位于中心。在 Chrome 上运行良好

javascript - 使用 Jasmine 在对象上测试事件处理程序

javascript - 不使用附加 SDK 的 Firefox 扩展中的 ContentScript

javascript - 如何在 Firefox 扩展上使用visibilitychange事件