Скрипт, не позволяющий лайтбоксу закрывать встроенные видеоролики Youtube (wmode = прозрачный), но другой скрипт работает - PullRequest
0 голосов
/ 18 февраля 2012

У меня были проблемы с освещением видео на самом YouTube, но я решил это с изменением дизайна (больше не нужно их покрывать).

Итак, у меня есть скрипт, который пользователь может запустить, и он вызывает файл javascript для выполнения других действий на текущей веб-странице. Одна вещь, которую он делает, это вызывает лайтбокс, который покрывает страницу. Конечно, это не касается встроенных видео на Youtube, поэтому мне нужно сделать несколько изменений. Я сделал необходимые изменения, и это не сработало. Я продолжал пробовать и пытаться, и в конце концов создал страницу только со встроенным видео и .jpg (мой сценарий не запустится, если нет изображений).

Я посмотрел, чтобы увидеть, что скрипт Pinterest добавил во встроенную часть видео, и хотя он был почти идентичен, у них там был автопроигрывание = 0, поэтому я добавил его, чтобы убедиться, что он точно такой же. Если я запускаю скрипт Pinterest и закрываю его, то запускаю мой, мой работает нормально. Если я запускаю мой, то сценарий Pinterest, а затем снова мой, работает. Поэтому я полагаю, что это означает, что я не добавляю ничего, что говорит странице «Идите вперед и в любом случае поместите видео сверху».

Моя часть скрипта, которая добавляет wmode:

var players = document.getElementsByTagName('embed');
var len = players.length;
for(var i=0;i<len;i++){
    players[i].setAttribute('wmode', "transparent");
    players[i].src += "?autoplay=0&wmode=transparent";
}

HTML минимальный размер страницы:

<html>

<head>

</head>

 <body>

  <img src="img/title.jpg"> 

  <object width="425" height="350">

    <param name="movie" value="http://www.youtube.com/v/OOpkr8uNWpk"></param>

    <embed src="http://www.youtube.com/v/OOpkr8uNWpk" type="application/x-shockwave-flash"  width="425" height="350"></embed>

</object>

</body>

После сценария Pinterest:

<object width="425" height="350">
    <param name="movie" value="http://www.youtube.com/v/OOpkr8uNWpk">
    <embed src="http://www.youtube.com/v/OOpkr8uNWpk?autoplay=0&amp;wmode=transparent" type="application/x-shockwave-flash" width="425" height="350" wmode="transparent">
</object>

После моего:

<object width="425" height="350">
    <param name="movie" value="http://www.youtube.com/v/OOpkr8uNWpk">
    <embed src="http://www.youtube.com/v/OOpkr8uNWpk?autoplay=0&amp;wmode=transparent" type="application/x-shockwave-flash" width="425" height="350" wmode="transparent">
</object>

Так как они одинаковые, я понятия не имею, почему это не работает.

1 Ответ

1 голос
/ 18 февраля 2012

wmode может быть виден в html, но не вступил в силу - попробуйте клонировать и заменить html флеш-памяти, чтобы вызвать перезагрузку (просто чтобы увидеть, действительно ли это проблема, я думаю, что изменение src вызывает перезагрузку, но яя не уверен)

Кроме того, вы можете вставить html / css лайтбокса или сделать jsfiddle , который может решить проблему?

...