【问题标题】:iframe get selected areaiframe 获取选定区域
【发布时间】:2012-07-04 04:00:23
【问题描述】:

我正在尝试从 iFrame 中获取选定区域。这里有几个类似的帖子,但没有一个有效,所以我决定再试一次。

function getIframeSelectionArea() {
var frm = frames['iFrameTextBody'].document;
var win = frm.contentWindow;
alert(win.getSelection().toString());
}

所以我试图实现的类似于在 stackoverflow post textarea 中实现的。现在我知道他们正在使用第 3 方所见即所得编辑器的变体。我试图纯粹出于教育目的重新启动轮子。

我的实现很简单。我想选择一个文本并通过单击粗体表示<b></b> 标签出现在所选区域的任一侧。我知道我使用 execCommand('bold', false, null) 来做同样的事情。正如我之前所说,这是一个实验。

思路是,一旦选定区域返回,调用如下函数:

    function addhtmlTag(str){
    var frm = frames['iFrameTextBody'].document;
    var frmbody = frm.getElementsByTagName('body')[0];
    var bold_tag = frm.createElement('b');
    bold_tag.textContent = str;
    frmbody.appendChild(bold_tag);
}

非常感谢任何见解!

干杯

德杰

【问题讨论】:

    标签: javascript iframe


    【解决方案1】:

    你的意思是这样的:

    function getSelectionFrame() {
       var frame = document.getElementById(frameId);
       var frameWindow = frame.contentWindow;
       var frameDocument = frameWindow.document;
       if (frameDocument.getSelection) {
          return frameDocument.getSelection();
       } else {
          return frameDocument.selection.createRange().text;
       }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-10-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多