2011-08-29 6 views
0

가능한 중복 : 그것은 단지 어려운 문제가되지 않습니다처럼
need to run javascripts on iframe which loads an external domain도메인 전체에서 검색 중입니까?

이 보이지만 분명히이다.

iFrame을 사용하여 다른 서버 (예 : cnn.com)에있는 다른 웹 사이트를 통합하는 간단한 페이지 만 있습니다.

이제 부모 페이지에서 iFrame에서 특정 단어를 검색하여 해당 단어가 iFrame 페이지에 있는지 알려주고 싶습니다. 예를 들어 cnn.com이 내 iframe 페이지 인 경우 부모 페이지에서 iframe 페이지에 '아이린'이라는 단어가 표시되는지 여부를 알려주고 싶을 수 있습니다. 지금까지 나는 이것을 작동시키지 못하고있다.

이것이 가능합니까? 동일한 원산지 정책에 의해 금지됩니까? 해결 방법 제안?

감사합니다.

답변

0

상위 페이지는 IFRAME의 내용이나 중요하면 프레임에 액세스 할 수 없습니다. 그렇지 않으면 Facebook 프로필과 같은 페이지를 프레임에 열어 적대적인 사이트에서 내용을 읽을 수 있습니다.

IFRAME 내부에서 일어나는 일을 조작하려면 원격 사이트를 제어하고 검색 논리를 삽입해야합니다.

0

same origin policy 때문에 JavaScript로 수행 할 수있는 것은 아무것도 없습니다.

콘텐츠에 액세스 할 수있는 유일한 방법은 서버에서 프록시를 사용하여 페이지를 잡고 도메인에 다시 표시하는 경우입니다.

0

은 브라우저 내부 anothers의 iframe을 내용을 ACESS 수없는 보안 문제에 수행 더 통찰력을 줄 수 있습니다.

마음에 든 사람이 있다면이 cross domain jQuery plugin을 사용할 수 있습니다.

그러면 yahoo 서버를 프록시로 사용하여 다음을 수행 할 수 있습니다.

$('#container').load('http://google.com'); // SERIOUSLY! 

$.ajax({ 
    url: 'http://news.bbc.co.uk', 
    type: 'GET', 
    success: function(res) { 
     var headline = $(res.responseText).find('a.tsh').text(); 
     alert(headline); 
    } 
}); 

제임스 Padolsey는 here에 대한 블로그.

관련 문제