iframe获得选定区域

时间:2012-07-04 04:00:23

标签: javascript iframe

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

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

所以我想要实现的是类似于stackoverflow post textarea中实现的内容。现在我知道他们正在使用第三方所见即所得编辑器的变体。我试图将轮子重新用于教育目的。

我的实施很简单。我想选择一个文字并点击粗体,并在所选区域的任一侧显示<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);
}

非常感谢任何见解!

干杯

Drjay

1 个答案:

答案 0 :(得分: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;
   }
}