Я знаю, что это очень старая версия, но поскольку IE все еще является проблемой, есть лучший способ, который даже не использует execCommand
.
В нем отсутствуют некоторые проверки, например, вы находитесь в правильном контейнере для добавления изображения.
var sel = window.getSelection();
var range = sel.getRangeAt(0);
var frag = document.createDocumentFragment();
var img = document.createElement("img");
// add image properties here
frag.appendChild(img);
range.insertNode(frag);