2010-10-19 2 views
4

У меня есть страница с iframe, отображающая внешний веб-сайт, который охватывает всю страницу, сверху есть div с некоторым контентом, похожим на новый интерфейс google images. Если на странице, содержащейся в iframe, есть видео с YouTube, оно просматривает контент на главной странице, так как страница в iframe с внешнего веб-сайта не может установить на нем прозрачный wmode.Youtube video to top from Iframe

Есть ли способ контролировать расслоение вспышки внутри iframe?

Благодаря

Джузеппе

ответ

0

Так как вы разместили вопрос довольно долгое время я задаюсь вопросом, если бы вы знали ответ.

Во всяком случае, вы могли бы попытаться изменить WMODE с помощью JavaScript (с помощью JQuery было бы гораздо проще,;))

попробовать этот код:

if ($('embed').length){ 
    $('embed').attr('wmode', 'transparent').wrap('<div>'); 
} 

или если он не признает встроенный объект внутри фрейма, вы можете попробовать:

if ($('iframe embed', parent.document).length){ 
    $('iframe embed', parent.document).attr('wmode', 'transparent').wrap('<div>'); 
} 
4

Вам просто нужно изменить значение Src в IFrame как так:

$('iframe').each(function() { 
    var fixed_src = $(this).attr('src') + '&amp;wmode=transparent'; 
    $(this).attr('src', fixed_src); 
}); 

* Примечание. Это относится к коду для встраивания iframe YouTube.

+1

Это не работает, если в исходном файле iframe нет других параметров получения, поэтому вам нужно сначала проверить, содержит ли $ (this) .attr ('src') "?" и если это не так, то вы должны префикс «wmode = transparent» с «?» вместо «&». –

1

Просто добавьте &wmode=transparent в конце встроенного атрибута iframe src. Вы можете позже изменить src с помощью jQuery, но зачем нужно загружать страницу с неправильным контентом, а затем изменять его, чтобы перезагрузить правильный контент? Просто отредактируйте HTML.

2

Добавить?, А не &. Например, «Режим окна = прозрачное?»:

<iframe width="697" height="400" src="http://www.youtube.com/embed/IgvDkflXVuw?wmode=transparent" frameborder="0" allowfullscreen></iframe> 
0

Просто добавьте также идентификатор вместе с остальными атрибутами вашего фрейма, как показано ниже

<iframeид = «ytplayer» ширин = «697» height = "400" src = "http://www.youtube.com/embed/IgvDkflXVuw?wmode=transparent" allowfullscreen = "" type = "text/html" wmode = "Непрозрачный" frameborder = "0" wmode = «Opaque»> `