2012-07-04 4 views
0

iFrame에서 선택한 영역을 가져 오려고합니다. 비슷한 게시물 몇 개가 있지만 아무 것도 작동하지 않으므로 다시 한 번 시도해보기로했습니다.iframe이 (가) 선택된 영역을 얻습니다.

function getIframeSelectionArea() { 
var frm = frames['iFrameTextBody'].document; 
var win = frm.contentWindow; 
alert(win.getSelection().toString()); 
} 

그래서 구현하려는 것은 stackoverflow post textarea에서 구현되는 것과 유사합니다. 이제 제 3 자 편집자 WYSIWYG 편집기를 사용하고 있습니다. 순전히 교육 목적으로 바퀴를 다시 열려고합니다.

구현이 간단합니다. 텍스트를 선택하고 굵은 글씨로 클릭하여 말하고 싶다면 <b></b> 태그가 선택된 영역의 양쪽에 나타납니다. 나는 execCommand ('bold', false, null)를 사용하여 동일한 작업을 수행한다는 것을 알고있다. 전에 말했듯이 이것은 실험입니다. 어떤 통찰력이 크게 감사합니다

function addhtmlTag(str){ 
    var frm = frames['iFrameTextBody'].document; 
    var frmbody = frm.getElementsByTagName('body')[0]; 
    var bold_tag = frm.createElement('b'); 
    bold_tag.textContent = str; 
    frmbody.appendChild(bold_tag); 
} 

:

는 생각, 선택 영역이 반환되면, 다음과 같은 함수를 호출!

건배

Drjay

답변

1

당신은 같은 것을 의미합니까 :

function getSelectionFrame() { 
    var frame = document.getElementById(frameId); 
    var frameWindow = frame.contentWindow; 
    var frameDocument = frameWindow.document; 
    if (frameDocument.getSelection) { 
     return frameDocument.getSelection(); 
    } else { 
     return frameDocument.selection.createRange().text; 
    } 
} 
+0

달콤한의 작업을! @Sudhir에게 감사합니다! – drjay

+0

당신은 환영합니다. –

관련 문제