में execCommand ("insertHTML", ...) document.execCommand()
का उपयोग कर एक संपादन योग्य आईफ्रेम के साथ एक wysiwyg-editor बना रहा हूं।इंटरनेट एक्सप्लोरर
function run() {
document.getElementById("target").focus();
document.execCommand("insertHTML", false, "<b>ins</b>");
}
<div contenteditable id="target">contenteditable</div>
<button onclick="run()">contenteditable.focus() + document.execCommand("insertHTML", false, "<b>ins</b>")</button>
इस समस्या का मानक समाधान क्या है: अब मैं "insertHTML"
आदेश जो क्रोम और फ़ायरफ़ॉक्स में पूरी तरह से काम करता है लेकिन निश्चित रूप से यह इंटरनेट एक्सप्लोरर में काम नहीं करता है उपयोग करने की आवश्यकता? यह ठीक है अगर यह केवल IE8 में काम करता है लेकिन आईई 7-समर्थन भी अच्छा होगा। ,
var doc = document.getElementById("your_iframe").contentWindow.document;
if (doc.selection && doc.selection.createRange) {
var range = doc.selection.createRange();
if (range.pasteHTML) {
range.pasteHTML("<b>Some bold text</b>");
}
}
अद्यतन
IE 11 में, document.selection
चला गया है और insertHTML
अभी भी समर्थित नहीं है:
[इन] (https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/7536602/) [बग रिपोर्ट] (https://github.com/yabwe/ मध्यम संपादक/मुद्दों/771 # मुद्दा-1822330 9 0) का अर्थ है कि एज execCommand ("insertHTML", ..) का समर्थन करता है (हालांकि अपने स्वयं के quirks के साथ)। – Nickolay