Изменение YouTube iframe src с помощью jQuery

Я пытаюсь изменить источник iframe видео YouTube с помощью jQuery, но выглядит как проблема с перекрестным происхождением. Мой код jquery:

var videourl = $(".videourl").html();
$(".actualyoutube iframe").attr('src',videourl);

iframe получает новое значение src, но видео не отображается. Есть идеи?

расширенное объяснение:

Существует всплывающее окно с встроенным видео YouTube

<div>
 <div>X</div>
 <div>
 
 </div>
</div>

Существует определенный td, который содержит новый URL-адрес src. Нет другого места или способа получить этот URL-адрес, кроме этого.

//youtube.com/whatevervideo

И есть сценарий, который должен добавить src в открытое всплывающее окно и удалить при закрытии.

var videourl = $(".videourl").html();
$(".youtubecap").click(function() {
 $(".actualyoutube iframe").attr('src', videourl);
 $(".youtubepopup").fadeIn('slow');
});
$(".closeyoutube").click(function() {
 $(".youtubepopup").fadeOut('slow');
 $(".actualyoutube iframe").removeAttr('src');
});
$(".youtubepopup").click(function() {
 $(".youtubepopup").fadeOut('slow');
});

ps теперь, когда я его выложил, user3385530, вероятно, прав

2 ответа

Вы не можете показывать страницы с сайта www.youtube.com внутри iframe. Правильный способ - использовать свои видеоролики в своей веб-странице. Вложения IFrame проще, URL-адрес, который вам нужно отображать в iframe, выглядит следующим образом:

http://www.youtube.com/embed/VIDEO_ID_GOES_HERE

Просто разместите iframe, например, внутри вашей веб-страницы:

<div>
 
</div>

Наконец, предполагая, что вы можете извлекать идентификатор видео из URL-адресов с помощью jQuery, вы можете использовать это для отображения видео *:

var videoid = "S2ISrpNM-0s";
$(".actualyoutube iframe").remove();
$('')
 .attr("src", "http://www.youtube.com/embed/" + videoid)
 .appendTo(".actualyoutube");

* Изменение свойства src iframe, которое уже показывает видео на YouTube, не работает;Поэтому я предлагаю метод destroy-iframe-recreate-iframe.


Это не будет работать, потому что страница анализируется, и только при обновлении с новым ulr произойдет.

Вам нужно использовать ajax для предварительной загрузки страницы с помощью нового URL-адреса, а затем для установки iframe.

licensed under cc by-sa 3.0 with attribution.