Как динамически добавить wmode = прозрачный код для вставки в Youtube? - PullRequest
9 голосов
/ 11 января 2012

У меня есть несколько Youtube видео, которые добавляются через CMS клиентом. Мне нужно добавить следующее ко всем ссылкам Youtube src:

?wmode=transparent

Как бы я это сделал?

Пример кода для вставки на YouTube:

<iframe width="515" height="292" src="http://www.youtube.com/embed/p8IB-5PbL9U" frameborder="0" allowfullscreen></iframe>

Причина этого заключается в том, что у меня есть меню javascript, которое скрывается за видео на Youtube, и я прочитал, что именно так вы это исправляете.

Клиент вовсе не техничен, и просто заставить его получить код для встраивания с Youtube - непростая задача, поэтому его нужно добавлять динамически.

Ответы [ 3 ]

11 голосов
/ 11 января 2012

Если вам просто нужно добавить ?wmode=transparent ко всем кадрам, используйте этот код JS:

window.onload = function() {
    var frames = document.getElementsByTagName("iframe");
    for (var i = 0; i < frames.length; i++) {
        frames[i].src += "?wmode=transparent";
    }
}
5 голосов
/ 11 января 2012

Исправлено ли использование iframe?Это значительно усложняет задачу, поскольку вы не можете напрямую получить доступ к базовому объекту.Если вы можете, то было бы лучше напрямую встроить объект на вашу страницу как таковой

3 голосов
/ 11 января 2012

В зависимости от вашей CMS вы можете сделать это через обычный PHP, просто добавив его в конце каждого URL-адреса, или ваш или заставит jQuery сделать работу за вас.

$('iframe').each(function() {
    $(this).attr("src", $(this).attr("src") + '?wmode=transparent')
});
...