Kindeditor를 사용할 때 Ajax를 이용해서 값을 전달하고 싶은데, 에디터를 통해 캡슐화하는 방법이 안되네요. 그 이유는 에디터가 다른 jsp 페이지에 배치되면서 동시에 iframe을 통해서 로딩되기 때문입니다. 시간이 지나면 이 iframe display="none"은 이벤트에 의해 트리거되어야 합니다.
원래 방법이 안 되니까 jQuery를 통해서 얻어야 합니다. 내가 가장 먼저 생각한 것은 "textarea" 콘텐츠, 즉 $("#editor").html()의 콘텐츠를 읽는 것이었지만 이 방법으로는 얻을 수 없습니다. 그래서 iframe에서 콘텐츠를 가져와서 가져오고 싶었지만 얻을 수 없었습니다. 마침내 Firefox의 디버그 뷰를 통해 최종 결과를 찾았습니다.
보시다시피 위 그림에서 "오늘 날씨가 매우 좋다"라는 콘텐츠를 얻으려면 지정된 본문의 콘텐츠만 가져오면 됩니다.
처리 과정: 먼저 가장 바깥쪽 iframe을 가져오고, iframe을 통해 내부의 하위 요소 iframe을 가져온 다음, 첫 번째 레이어에 들어간 후 본문을 내부로 가져옵니다. 다음과 같습니다:
Wherecontents(): 일치하는 요소 내에서 모든 하위 노드(텍스트 노드 포함)를 찾습니다. 요소가 iframe인 경우 문서 콘텐츠를 찾습니다.
다음은 iframe에서 요소의 콘텐츠를 가져오는 여러 가지 방법을 제공합니다.
iframe에서 텍스트 영역 요소의 내용 가져오기