Javascript 执行命令后选择图像

Javascript 执行命令后选择图像,javascript,Javascript,在这件事上我的头撞到墙上已经有一段时间了 我有一个正在插入图像的编辑器,但我无法让它在execCommand运行后在Firefox中选择新插入的图像。这是我的密码 var editor = this; var sel = editor._getSelection(); var range = editor._createRange(sel); editor._doc.execCommand("insertima

在这件事上我的头撞到墙上已经有一段时间了

我有一个正在插入图像的编辑器,但我无法让它在execCommand运行后在Firefox中选择新插入的图像。这是我的密码

        var editor = this;
        var sel = editor._getSelection();
        var range = editor._createRange(sel);           
        editor._doc.execCommand("insertimage", false, imgURL);
        img = range.startContainer.previousSibling;
        console.log(img);

不要使用execCommand,而是使用range.insertNode

var img = document.createElement('img');
img.src = 'http://www.carsyouwilldrive.com/wp-content/uploads/2009/06/futurecar1.jpg';

var selection = document.defaultView.getSelection();
var range = selection.getRangeAt(0);
range.insertNode(img);

演示:

我同意这种观点,但这在IE中不起作用。此外,OP使用的(未指定)编辑器几乎肯定会包含一个iframe,并且有自己的范围和选择API,这很可能会公开一个跨浏览器的
insertNode()
method.@Tim OP特别列出了Firefox,所以我认为IE不是问题。如果需要,我可以支持它。。。但需要OP提供更多信息。