Подтвердить что ты не робот

Как я могу сделать iframe уважающим z-индекс в IE?

У меня есть элемент iframe iframe на моем веб-сайте, но он рядом с моими пунктами меню. Когда я наводил курсор на элемент меню, открывается подменю, которое частично покрывает iframe (из-за его положения, что явно не является конкретной функцией). Это отлично работает в Firefox, но, как обычно, это не в IE, здесь iframe закрывает меню, делая его в основном нечитаемым. Есть ли опция, которую мне нужно добавить в iframe, чтобы она работала, или просто невозможно?

(Тестирование с IE9 на данный момент)

4b9b3361

Ответ 1

Попробуйте использовать метод вставки iframe Youtubes (если это не то, что вы уже делаете, и добавьте: ? wmode = прозрачный для url (замените? с и если это не первая переменная url)

Ответ 2

С этим вопросом возникает несколько вопросов. Прежде всего, в IE нет проблем, чтобы установить iframe выше или ниже другого содержимого в вашем документе с помощью z-index. Более высокий z-index делает ваш iframe выше других элементов (как обычно), насколько ваш iframe позиционируется: относительный, абсолютный или фиксированный.

Реальная проблема возникает, когда содержимое вашего iframe является встроенным флэш-объектом. В этом случае флэш-объект может быть установлен только в z, если его параметр wmode установлен на "прозрачный" или "непрозрачный", но он не будет работать, если вспышка включена в документ HTML, используя wmode = "window".

Итак, если вы включаете внешний ресурс (на веб-сайте, к которому у вас нет доступа, например, youtube), вы можете его достичь, только если используется какой-либо из этих режимов. Если вы загружаете Flash-объект в iframe, в котором вы можете изменить его содержимое, просто проверьте, что:

<param name="wmode" value="transparent" />

.

Если youtube использует "оконный" режим, вы всегда можете использовать свой собственный флеш-плеер и захватывать видео с YouTube, динамически настраивая режим флэш-объекта.

Ответ 3

Я видел подобную проблему, по умолчанию ссылка на ссылку youtube должно быть embed,

<iframe src="http://www.youtube.com/embed/video_id"></iframe>

но не только v-link (v-link игнорирует z-индекс):

<iframe src="http://www.youtube.com/v/video_id" frameborder="0"></iframe>

Вот пример для IE: http://jsfiddle.net/7fd8Y/21/

Ответ 4

Вот не чистое JS-решение, альтернативное JQuery:

var iFramesOnPage = document.getElementsByTagName("IFRAME");
for(var i = 0; i < iFramesOnPage.length; i++) { 
    var newiFrameURL = iFramesOnPage[i].getAttribute("src")+"?wmode=transparent"; 
    iFramesOnPage[i].setAttribute("src", newiFrameURL);
};