2011-01-07 5 views
1

잠시 동안이 벽에 머리를 대고 있습니다.execCommand 후 이미지 선택

이미지를 삽입하는 편집기가 있지만 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); 

답변

0

대신 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); 

DEMO :http://jsbin.com/ogane4/5/edit

+0

나는 감정에 동의하지만,이 IE에서 작동하지 않습니다. 또한, OP가 사용하는 (지정되지 않은) 편집기는 iframe을 거의 포함 할 것이며, 브라우저 자체의'insertNode()'메소드를 폭로 할 수있는 자체 범위와 선택 API를 가지고있을 것입니다. –

+0

@Tim IE가 IE가 문제가되지 않는다고 생각한 OP가 구체적으로 나와 있습니다. 필요한 경우 지원할 수 있지만 OP에서 더 많은 정보가 필요합니다. – Hemlock