Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/383.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript iframe获取选定区域_Javascript_Iframe - Fatal编程技术网

Javascript iframe获取选定区域

Javascript iframe获取选定区域,javascript,iframe,Javascript,Iframe,我正在尝试从iFrame获取所选区域。这里有几个类似的帖子,但都不管用,所以我决定再试一次 function getIframeSelectionArea() { var frm = frames['iFrameTextBody'].document; var win = frm.contentWindow; alert(win.getSelection().toString()); } 所以我试图实现的与stackoverflow post textarea中实现的类似。现在我知道他们使用的

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

function getIframeSelectionArea() {
var frm = frames['iFrameTextBody'].document;
var win = frm.contentWindow;
alert(win.getSelection().toString());
}
所以我试图实现的与stackoverflow post textarea中实现的类似。现在我知道他们使用的是第三方所见即所得编辑器的变体。我试图重新启动轮子纯粹是为了教育目的

我的实现很简单。我想选择一个文本,然后单击粗体,使标签显示在所选区域的两侧。我知道我使用了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

你是说:

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;
   }
}