Как отобразить часть веб-страницы с помощью iframes? - PullRequest
0 голосов
/ 09 апреля 2011

Как создать iframe, который будет отображать только часть веб-страницы iframes?

Давайте возьмем YouTube, например. Как в iframe может отображаться только видеоплеер YouTube?

Спасибо,

Одед

Ответы [ 2 ]

2 голосов
/ 09 апреля 2011

Это невозможно: iframe всегда будет отображать полный документ.Одна и та же политика происхождения не позволит вам принять участие в этом.

Единственным обходным решением будет получение HTML-данных Youtube с вашего сервера (с использованием языка на стороне сервера), а затем перевод всех относительных ссылок, содержащихся встраницу, и выведите ее так, как если бы она была страницей на вашем сервере.Затем вы можете изолировать определенные элементы от него, потому что вы находитесь в контексте своего собственного домена.Это называется настройкой прокси на стороне сервера.

Тем не менее, это весьма несовершенный и сложный процесс, и почти (иногда полностью) его невозможно исправить, не сломав ничего, особенно с помощью JavaScript и видео.Кроме того, это, скорее всего, незаконно, по крайней мере, в случае с YouTube.

1 голос
/ 10 апреля 2011

Если вы ищете именно YouTube, вы можете просто динамически получить код для вставки видео, которое вы ищете, и отобразить его таким образом. Если вы ищете общее решение, вам предстоит долгий сеанс с HTML для целевого сайта. Если вы выясните, что ваш контент находится, например, в пределах <div id='content-you-want'>, вы можете сделать что-то вроде:

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

если вы используете jQuery. Но предстоит еще проделать большую работу, если все, что вам нужно, удобно не обернуть в div с id. И вам нужен proxy.php, чтобы пройти ту же политику происхождения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...