如何在不使用命令“InsertHTML”的情况下将HTML文本粘贴到HTML编辑器中

时间:2013-02-05 08:05:25

标签: javascript html

我有一个HTML数据如下。

<html>
<body>
<div contenteditbale="true">
Hello how <i>are you.</i><b> I am Fine.</b> Thank you
</div>        
</body>
</html>

我想复制“精细”并将其粘贴在“你是”之间。

我想要的结果是你好 你。 我很好。

我如何使用JavaScript实现相同的目标。我正在使用格式化复制的字符串。我想实现粘贴逻辑。目前使用InsertHtml我能够粘贴字符串。但粘贴的字符串使用目标格式。即斜体也被添加到“精细”。我希望以斜体结尾,只需将复制的字符串粘贴为源格式。

For Copy我正在使用

function(){
     var html = "";
     if (typeof window.getSelection != "undefined") {
        var sel = window.getSelection();
        if (sel.rangeCount) {

            var Node=sel.focusNode.parentNode.cloneNode(true);
            var container = document.createElement("div");
            for (var i = 0, len = sel.rangeCount; i < len; ++i) {
                container.appendChild(sel.getRangeAt(i).cloneContents());
            }
            html = container.innerHTML;
            Node.innerHTML=html;
            var co = document.createElement("div");
            co.appendChild(Node);
            html=co.innerHTML;

        }
     } else if (typeof document.selection != "undefined") {
        if (document.selection.type == "Text") {
            html = document.selection.createRange().htmlText;
        }
     }
     return html;
}

和粘贴

function() {    
    document.execCommand('insertHTML',false,html);
}

0 个答案:

没有答案