用于IE的所见即所得编辑器

问题描述:

我想制作一个新的所见即所得编辑器,其中我使用了一个设计模式为ON的Iframe,我想要做些类似于 - 当用户选择一个文本并单击一个图像按钮时图像应该位于后台的文字和图像应该切换用于IE的所见即所得编辑器

+1

_...它不工作..._:你有什么,你试过吗?如果我们有一点编码上下文,我们可以帮助您。 – 2012-01-05 09:02:04

InsertHTML命令在IE中不起作用。但是,IE的TextRange对象有一个方便的​​方法,您可以使用它。

现场演示:http://jsfiddle.net/RmXgy/1/

代码:在IE

function getSelectedText() { 
    var selectedText = "", sel; 
    if (window.getSelection) { 
     selectedText = "" + window.getSelection(); 
    } else if ((sel = document.selection) && sel.type == "Text") { 
     selectedText = sel.createRange().text; 
    } 
    return selectedText; 
} 

var sel, html = '<span style="background-image: url(foo.png)">' 
     + getSelectedText() + "</span>"; 

if ((sel = document.selection) && sel.type != "Control") { 
    sel.createRange().pasteHTML(html); 
} else { 
    document.execCommand("InsertHTML", false, html); 
}