execCommand("CreateLink") 새창 띄우기

execCommand("CreateLink") 새창 띄우기


execCommand("CreateLink") 새창 띄우기 

이걸로 삽질하시는 분들이 많을것 같아 올려봅니다... 

저두 지금 삽질하다가 클리어 했네요.... 

------------------------------------------------------ 


기존 

-> 

function createLink() { 

Editor.focus(); 

Editor.document.execCommand("CreateLink"); 



수정 

-> 

function createLink() { 

var EdRange = Editor.document.body.createTextRange(); 

EdRange.execCommand('CreateLink'); 


if (EdRange.parentElement().tagName=='A') { 

var href = EdRange.parentElement().href; 

var data = EdRange.text; 

EdRange.execCommand('UnLink'); 

EdRange.pasteHTML(''+data+''); 



---------------------------- 

제가 검색을 해봤는데 

var EdRange = Editor.document.selection.createRange(); 

이 내용이 아주 많고 에러가납니다. (IE11기준) 

IE11에선 createRange()가 호환이 이제 안된다고 해서 알아보니 

var EdRange = Editor.document.body.createTextRange(); 

이걸로 고치라고 해서 고쳤더니 되네요. 


도움되길.. 저만 삽질했나.ㅠ

[ ▼ 참고 Source ]

function createLink() {
    var EdRange = Editor.document.body.createTextRange();
    EdRange.execCommand('CreateLink');

    if (EdRange.parentElement().tagName=='A') {
        var href = EdRange.parentElement().href;
        var data = EdRange.text;
        EdRange.execCommand('UnLink');
        EdRange.pasteHTML('<a href="'+href+'" target="_blank">'+data+'</a>');
    }
}