2011-04-09 6 views
0

iframe의 웹 페이지 중 일부만 표시 할 iframe을 만들려면 어떻게해야합니까?iframe을 사용하여 웹 페이지의 일부분을 표시하는 방법은 무엇입니까?

예를 들어 youtube로 가져갑니다. iframe에서 YouTube 동영상 플레이어 만 표시하려면 어떻게해야하나요?

감사합니다,

오디드

+2

정말 그렇게 할 수는 없지만 일부 서버 측 코드를 실행하여 페이지에서 원하는 부분을 가져 와서 iframe으로 밀어 넣을 수 있습니까? –

+1

(YouTube의 경우에는 퍼가기 코드를 사용합니다.) – oblig

답변

2

이 불가능 일 : iframe는 항상 전체 문서를 표시합니다. 동일 출처 정책에 따라 귀하가 참여할 수 없게됩니다.

유일한 대안은 서버 측 언어를 사용하여 서버에서 Youtube의 HTML 데이터를 가져온 다음 페이지에 포함 된 모든 상대 참조를 번역하여 서버의 페이지 인 것처럼 출력하는 것입니다. 그런 다음 자신의 도메인 컨텍스트에 있기 때문에 특정 요소를 도메인에서 분리 할 수 ​​있습니다. 이를 서버 측 프록시 설정이라고합니다.

그러나 이것은 고도로이며 불완전하고 까다로운 과정이며, 특히 JavaScript와 Video를 사용하면 문제를 일으키지 않고 거의 완벽하지 않을 수 있습니다. 게다가 YouTube의 경우 적어도 불법입니다.

1

YouTube를 특별히 찾고있는 경우, 내가 팔로우 한 비디오에 대해 소스 코드를 동적으로 가져 와서 이렇게 표시 할 수 있습니다. 일반적인 솔루션을 찾으려면 대상 사이트의 HTML과 긴 세션을해야합니다. 당신이 jQuery를 사용하는 경우

$.get('proxy.php?url=' + urlEncode("http://my-target-url.com"), function(result_data) { 
    $("#target-element").html($(result_data).find("#content-you-want").html()); 
} 

: 당신이 당신의 내용이 <div id='content-you-want'> 내의 모든 것을 알아낼 경우, 예를 들어, 다음과 같은 일을 할 수 있습니다. 그러나 원하는 물건이 div에 편리하게 모두 포장되지 않은 경우 id으로 처리해야합니다. 그리고 동일한 원산지 정책을이기려면 proxy.php가 필요합니다.

관련 문제