테스트 사이트 - 개발 중인 베타 버전입니다

iframe 접근 채택완료

jun31019 6년 전 조회 4,220

그누보드 글쓰기에서, 에디터를 사용하면 iframe으로 에디터가 들어가는데요. 

iframe이 이중으로 들어가있는 것으로 확인이 됩니다. 

 

 

이런 형식입니다. 

 

혹시 글쓰기영역의 클래스나 컨텐츠를 클릭했을때 부모창에서 확인할 수 있는 방법이 없을까요?

 

값을 가져오는 것은 

</p>

<p>    var iframe = $('.editorFrame').find('iframe').contents();

    var iframeInner = $(iframe).find('iframe').contents();

    var iframeContent = $(iframeInner).contents().find('.se2_inputarea');</p>

<p>

 

위 처럼해서, 글쓰기영역내의 값은 가져오는데, 클릭 이벤트를 만들고 싶고, 

그 클릭 이벤트에 대한 처리는 부모창에서 하고 싶은 것입니다. 

 

혹시 가능할까요?

 

 

 

 

 

댓글을 작성하려면 로그인이 필요합니다.

답변 2개

채택된 답변
+20 포인트
6년 전

parent.함수이름();

 

을 하시면 자식창에서 부모창에 있는 함수가 호출됩니다

로그인 후 평가할 수 있습니다

답변에 대한 댓글 3개

j
jun31019
6년 전
답변 감사합니다.

그런데 제가 하고싶은건, 자식창의 class 명이 예를 들어, 'test' 라면,
부모창에서
[code]
$(".test").click(function(){
//event
})
[/code]

이런식으로 하고싶은 것입니다.
볼피드
6년 전
[code]
$(iframeInner).contents().find('.se2_inputarea').click(function(){
console.log('테스트');
});
[/code]
동일도메인이나 양 측 서버에서 허용된 도메인이라면 iframe간 제어도 가능합니다.
질문 내용은 스마트에디터의 iframe을 하고 싶다는거 같으신데.
위처럼 하시면 아마 동작 될 것 같습니다만..
j
jun31019
6년 전
네네 감사합니다! 한번 테스트 해보겠습니다!

댓글을 작성하려면 로그인이 필요합니다.

베원
6년 전

부모영역에서 자식영역의 접근은 보안상 이유로 불가능합니다.

예를 들어, 사이트를 하나 만들고 네이버를 iframe으로 width height 0px로 넣어서 사이트에 접속한 유저들의 네이버 로그인 정보를 다 빼갈 수도 있기 때문이죠..

로그인 후 평가할 수 있습니다

답변에 대한 댓글 3개

j
jun31019
6년 전
아.. .그렇군요.. 다른 방법을 찾아봐야겠요;;
베원
6년 전
@jun31019 차라리 윗분 말씀대로 자식영역에서 작업하는 것이 나을 것 같습니다.
자식영역에서 .test 를 클릭했을 때 부모영역에 있는 func 함수를 실행시키려면
// 자식영역 코드
$(".test").click(parent.func)
// 부모영역 코드
function func() { }
j
jun31019
6년 전
아 네네 최대한 자식창에는 뭘 추가하지 않고 부모창에서 처리하려고 노력중입니다. 의견 감사합니다!

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인