2012-10-27 2 views
1

로컬 jquery 대화 상자에서 도메인 간 iframe 콘텐츠를 만들고 싶습니다. 동일한 응용 프로그램에서 개발할 때 모든 것이 잘되었습니다. 내가 다른 URL을 다른 응용 프로그램에서 테스트하는 tryed 때 오류 얻을 : 내가 아는도메인 간 iframe jquery 선택기

Error: Permission denied to access property ... 

을,이 보안 정책에 문제가있다, 그러나 나는 프레임 안에 선택을 할 필요가있다.
foo/plugin.js:

 

    var frameDOM; 
    function frameLoaded() { 
     for (var i = 0; i < window.frames.length; i++) { 
      if (window.frames[i].name == "frame-name-here") { 
       frameDOM = window.frames[i].document; 
       break; 
      } 
     } 
    } 

    $(function() { 
     var frame = "<iframe src='http://bar:222/Home/frame' id='frame-content' name='frame-name-here' onload='frameLoaded()' />"; 

    $("#dialog-form").dialog({ autoOpen: true, height: 450, width: 500, modal: true, resizable: false, 
       buttons: { 
        "Deliver": function() { //Some long code here 
         } 
       } 
       create: function (event, ui) { 
        $(this).append(frame); 
       } 
      }); 


을 그리고 프레임이로드 된 후 난 쉽게 프레임 안에 콘텐츠에 액세스 할 수 있습니다 :

내가 뭘 내가 당신을 보여 드리죠 크로스 도메인으로

$("#frame-input", frameDOM).val(); 


I 그러한 가능성을 상실했다. 다른 도메인에서 가져온 셀렉터를 insode 프레임을 제어하는 ​​다른 방법이 있습니까?

P. 나는 Resize frame 할 필요가 없습니다 그 해결책은 도움이되지 않았다. 이 방법이 작동하지 않기 때문에 나는 대체 방법을 찾고 있습니다.

답변

2

불행히도 PHP 나 다른 스크립팅 언어 (가능하면 PHP에서 cURL 사용)를 통해 HTML을 가져 와서 동일한 도메인의 JavaScript 응용 프로그램으로 다시 전달할 수 없다면 불가능합니다. Same Origin Policy을 참조하십시오.