2016-10-16 2 views
0

iframe에서 데이터에 액세스하려고했습니다. 나는 codeigniter에서 일하고있다. 나는 내 하루 종일 해결책을 찾고 있지만 행운은 없다. 나는 자바 스크립트 전문가가 아니므로 나에게 점점 더 어려워지고있다. 제 코드를 살펴보십시오.iframe 내의 데이터에 액세스하는 방법은 무엇입니까?

home-upload-dialog.php보기 파일

<div id="popup-contents"> 
    <iframe id="upload-frame" frameborder="0" scrolling="no" height="200" width="100%" src="<?php echo site_url('home/upload_area/' . $_REQUEST['count']);?>"></iframe> 
</div> 
<input type="button" value="click me" onclick="run()"> 
<script> 
    run() { 
     var iframedoc = document.getElementsByTagName('iframe')[0].contentWindow.document; 
     var inputs = iframedoc.getElementById('text'); 
     console.log(inputs); 
    } 
</script> 

home.php 컨트롤러

upload_area() { 
    $data['count'] = $count; 
    $this->load->view('upload-area', $data); 
} 

upload-area.php보기 파일

<!DOCTYPE html> 
    <html> 
    <head> 
     <title>Title here</title> 
    </head> 
    <body> 
     <input type="text" name="text" id="text" value="someValue"> 
    </body> 
    </html> 

내가 간과 Uncaught TypeError: Cannot read property 'contentWindow' of undefined 가있을 수 있습니다 일을 말하는 오류 . 어떤 도움을 주시면 감사하겠습니다!

나는 또한 $('iframe').contents().find('#text').html();을 시도했지만 행운은 없습니다.

+1

[자바 스크립트로 iframe 요소에 액세스하는 방법은 무엇입니까?] (http://stackoverflow.com/questions/1452871/how-can-i-access-iframe-elements-with-javascript) –

+0

나는 이미 방문했습니다. 그 페이지와 여전히 같은 문제가 있습니다. –

+0

며칠 전 웹 인터페이스 (프레임을 사용하는)를 사용하여 문제를 해결하기 위해'window.frames [ 'name_of_the_frame']을 사용했습니다. 문서 ' –

답변

1

여러 솔루션에 대한 답변이 이미 Google의 "iframe inside iframe"에 있습니다. here is one. 일반적으로

는 iframe이는 (보안상의 이유로 다른 도메인에로드 된 경우 액세스 iframe이 데이터는 달리, 페이스 북에서 위젯 "좋아요"상상할 수없는 당신이 그것을로드하고 다음의 권한 부여 쿠키를 훔칠 수 있음을 기억 귀하의 웹 사이트를 방문하는 사용자 ...)

EDIT : 위의 보안 제한에는 웹 사이트가 "www.domain.com/page.php"에서로드되고 iframe이 "domain.com" /iframe.php "이므로 체크 아웃하십시오.

+1

정확하게 동일한 질문에 대답하는 질문을 가리키는 대답 대신에 질문을 중복으로 표시하십시오. –

+0

@CharlotteDunois 팁 주셔서 감사합니다, 저는 여기에 새되었습니다 :) – Johnny

+0

다른 도메인에서 무엇을 의미합니까? –

관련 문제