모달 창에서 iframe 팝업으로 포함 된 YouTube 동영상을 만들려고합니다. 크롬과 파이어 폭스에서 성공적으로 작동하지만 IE에서는 작동하지 않습니다. Flash 비디오는 wmode가 투명하게 설정된 경우에도 z- 인덱스를 무시하는 것으로 보입니다 (동일한 결과로 불투명하게 시도했습니다). 동영상 위에 팝업되는 메뉴는 올바르게 작동하지만 동영상 위에 직접 위치 된 onclick 이벤트가있는 div는 작동하지 않습니다. 나는 Z- 인덱스를 변경하지 않고 수동으로 거의 모든 요소에 설정하려고했습니다.IE9 임베디드 비디오의 Z- 인덱스 문제
문제를 설명하는 HTML 페이지가 포함되었습니다. Chrome과 Firefox에서 동영상을 클릭하면 '클릭됨'이라는 메시지가 표시되지만 IE에서는 발생하지 않습니다.
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"></script>
<script type='text/javascript'>
$(function(){
$("ul.dropdown li").hover(function(){
$(this).addClass("hover");
$('ul:first',this).css('visibility', 'visible');
}, function(){
$(this).removeClass("hover");
$('ul:first',this).css('visibility', 'hidden');
});
$("ul.dropdown li ul li:has(ul)").find("a:first").append(" » ");
});
</script>
<style type="text/css">
* { margin: 0; padding: 0; }
body { font: 14px Helvetica, Sans-Serif; }
#page-wrap { width: 800px; margin: 80px auto; }
a { text-decoration: none; }
ul { list-style: none; }
p { margin: 15px 0; }
/*
LEVEL ONE
*/
ul.dropdown { position: relative; }
ul.dropdown li { font-weight: bold; float: left; zoom: 1; background: #ccc; }
ul.dropdown a:hover { color: #000; }
ul.dropdown a:active { color: #ffa500; }
ul.dropdown li a { display: block; padding: 4px 8px; border-right: 1px solid #333;
color: #222; }
ul.dropdown li:last-child a { border-right: none; } /* Doesn't work in IE */
ul.dropdown li.hover,
ul.dropdown li:hover { background: #F3D673; color: black; position: relative; }
ul.dropdown li.hover a { color: black; }
/*
LEVEL TWO
*/
ul.dropdown ul { width: 220px; visibility: hidden; position: absolute; top: 100%; left: 0; }
ul.dropdown ul li { font-weight: normal; background: #f6f6f6; color: #000;
border-bottom: 1px solid #ccc; float: none; }
/* IE 6 & 7 Needs Inline Block */
ul.dropdown ul li a { border-right: none; width: 100%; display: inline-block; }
/*
LEVEL THREE
*/
ul.dropdown ul ul { left: 100%; top: 0; }
ul.dropdown li:hover > ul { visibility: visible; }
</style>
<title>IE Bug</title>
</head>
<body>
<div class="page-wrapper">
<div class="menu">
<ul class="dropdown" style="z-index: 100;">
<li>
<a href="#">Menu</a>
<ul class="sub_menu">
<li><a href="#">Sub Item 1</a></li>
<li><a href="#">Sub Item 2</a></li>
</ul>
</li>
</ul>
</div>
<br />
<div class="span4" style="background-color: transparent; display: block; margin-bottom: 0px; margin-left: 20px; margin-right: 0px; margin-top: 0px; width: 300px; z-index: 4;">
<div class="column" style="margin-left: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; position: relative; z-index: 3;">
<div class="embedded-video" style="position: relative; z-index: 3;">
<div class="video-launcher" onclick="alert('clicked');" style="position: absolute; cursor: pointer; width: 100%; height: 100%; z-index: 2;"></div>
<div class="youtube-video" style="z-index: 1;">
<iframe style="z-index: 1;" width="300" height="225" src="http://www.youtube.com/embed/W8_Kfjo3VjU?rel=0&showinfo=0&wmode=transparent" frameborder="0" allowfullscreen></iframe>
</div>
</div>
</div>
</div>
</div>
</body>
나는이 문제를 해결하기 위해 노력을 통해 모든 검색했습니다,하지만 난 찾을 수있는 모든은 W 모드 및 Z- 인덱스를 설정하는 방법에 대한 정보입니다. 누락 된 것이 있거나 IE에서 작동하지 않을 수도 있습니다. 도와 주셔서 감사합니다.
비슷한 문제 : "wmode = opaque"가있는 플래시 객체/swf가 ie8에서 잘 작동합니다. 즉, ie9에서 - 플래시가 텍스트를 표시하지 않습니다. wmode가 "window"로 변경되면 플래시가 텍스트를 표시하지만 플래시 객체도 최상위에 있고 다른 DOM 요소를 포함합니다. – woohoo