IE отображает флэш-ролики с неверной высотой, используя swfobject - PullRequest
3 голосов
/ 16 марта 2012

У меня есть полноэкранный флэш-ролик, который загружается и корректно отображается в Firefox и Chrome.В IE, однако, он отображается на 1/3 ширины.Встроенный код относительно прост:

<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <script src="/javascripts/swfobject.js?1331841761" type="text/javascript"></script>
     <script type="text/javascript">
       //<![CDATA[
swfobject.embedSWF('/bin/SglWeb.swf','flashContent','100%','100%','11.0.0','/expressInstall.swf',{},{},{});
     //]]>
   </script>
    <style>
      body { margin: 0px; overflow: hidden; }
    </style>
  </head>
  <body>
    <div id="flashContent">
      <p><a href="https://www.adobe.com/go/getflashplayer"><img src="https://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" /></a></p>
    </div>
  </body>
</html>

Если я изменю:

swfobject.embedSWF('/bin/SglWeb.swf','flashContent','100%','100%','11.0.0','/expressInstall.swf',{},{},{});

на

swfobject.embedSWF('/bin/SglWeb.swf','flashContent','1024','768','11.0.0','/expressInstall.swf',{},{},{});

IE учитывает высоту, но мне бы очень хотелосьиспользуйте 100% высоты.Что я могу делать не так?

Протестировано в IE 8, Windows XP, Flash Player 11, SWFObject v2.0

Ответы [ 2 ]

4 голосов
/ 28 марта 2012

Другое возможное решение этой проблемы: мой сервер rails 3 автоматически добавлял следующий заголовок HTTP:

X-Ua-Compatible: IE=Edge,chrome=1

, что изменило поведение IE в 8.Я удалил это, и это также решило проблему.Множество деталей, которые нужно учитывать при работе с IE: /

2 голосов
/ 16 марта 2012

Мне кажется, что вы столкнулись с досадной проблемой hasLayout в IE. Поскольку ваш div не указывает высоту, а ваш флэш-фильм имеет высоту 100%, IE ставится в тупик и возвращается к высоте по умолчанию (я думаю, что он находится в диапазоне 300 пикселей). Это хорошая статья о hasLayout . Вы можете попробовать что-то вроде добавления display: inline-block или min-height: anyvalue к вашему контейнеру div, чтобы вызвать hasLayout в IE и посмотреть, работает ли он.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...