Ответ 1
Да, Крис,
Вам нужно установить атрибут для флэш-кода для встраивания
<param name="wmode" value="transparent" />
Это будет работать
У меня есть панель меню, которая содержит несколько элементов подменю. Домашняя страница содержит флэш-анимацию, расположенную в строке меню. Когда элементы подменю находятся над файлом флэш-памяти, файл флэш-памяти будет отображаться в строке меню. Я пробовал с z-index, но это не сработает.
Эта проблема возникает только в IE.
Любые советы?
Спасибо
Да, Крис,
Вам нужно установить атрибут для флэш-кода для встраивания
<param name="wmode" value="transparent" />
Это будет работать
Если вы вставляете флеш файл, вам необходимо настроить прозрачность окна:
<embed src="flashfile" wmode="transparent">
Muneer и Tim уже дали хороший ответ, но я хотел бы добавить дополнительную информацию:
transparent
и opaque
вызовут проблему доступности, в результате чего они скрывают содержимое вашего Flash-объекта для чтения с экрана. Только значение по умолчанию для window
доступно для чтения с экранаЕсть лучшее решение для этого, поскольку добавление этого параметра не всегда срабатывает, особенно если вы используете flash-объект в div.
В конце страницы зарегистрируйте flash-объект следующим образом:
<script type="text/javascript">
swfobject.registerObject('FlashIdName');
</script>
Затем вызовите функцию javascript следующим образом:
<script type="text/javascript">
swfobject.registerObject('FlashIdName');
Chk_Flash('FlashIdName');
</script>
Эта функция выполняет следующие действия:
<script type="text/javascript">
function Chk_Flash(ToRegister)
{
document.getElementById('FlashIdName').style.visibility = 'visible';
return true;
}
</script>
И это работает во всех браузерах 100%
Вы также можете использовать:
document.getElementById('FlashIdName').style.visibility = 'hidden';
Теперь, если вы вызываете действия в теге div, например:
document.getElementById('MyDiv').style.visibility = 'block';
или document.getElementById('MyDiv'). style.visibility = 'none';
Что вам нужно сделать, так это сначала выполнить действие div, а затем вызвать флэш-видимость в этом порядке:
document.getElementById('MyDiv').style.display = 'block';
document.getElementById('FlashIdName').style.visibility = 'visible';
Наслаждайтесь!
Используйте это значение вместо 'transparent':
wmode="opaque"
Наконец-то я смог найти решение, которое будет работать на обоих броузерах.
Если я использовал
<param name="wmode" value="transparent" />
я бы получил желаемый результат в IE, но не на firefox, и если бы я использовал
<embed wmode="transparent" ></embed>
я получил желаемый результат в firefox, но не то есть.
Итак, я решил использовать оба, которые работают во всех браузерах
<!--[if IE]>
<param name="wmode" value="transparent" />
<![endif]-->
<embed wmode="transparent" ></embed>