jQuery не распознает элемент <embed>в IE - PullRequest
2 голосов
/ 01 июля 2010

У меня есть CMS, где люди могут вставить код для вставки видео на YouTube.Проблема в том, что CMS использует лайтбоксы jQuery в качестве модальных всплывающих окон для редактирования вещей, а встраивание YouTube появляется поверх всплывающего окна.

Я читал во многих местах, что элементы не уважают z-индексировать свойство и просто ставить себя поверх всего.Вам нужно включить атрибут "wmode" и установить его в "непрозрачный" или "прозрачный" для их воспроизведения.Кроме того, иногда вам нужно включить "внутри

. У меня есть простая функция jQuery, чтобы добавить атрибут" wmode "ко всем тегам" встраивания "на странице, однако в IE это просто ничего не делает".В Firefox атрибут wmode был успешно установлен на всех элементах, но я вижу, что в IE он не устанавливается. Однако, когда я редактирую текст встраивания и добавляю его вручную, он работает правильно.

$(document).ready(function() {
    $("div.video object").prepend('<param name="wmode" value="transparent">');
    $("div.video embed").attr("wmode", "transparent");              
});

Просить пользователей добавить его вручную не вариант. Что не так с моим jQuery, что это не работает?

1 Ответ

0 голосов
/ 01 июля 2010

Я не уверен, как решить вашу проблему, но могу подумать о двух факторах, которые вы могли бы рассмотреть в дальнейшем:

Установка wmode после рендеринга плагина Flash Player не имеет никакого эффекта, его нужно установить до рендеринга объекта / встраивания, я считаю.

Редактировать: IE не использует элемент embed, только элемент object . Видимо, это было неправильно, см. Комментарий Райана.

...