我有一个全屏Flash影片,可以在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
中测试答案 0 :(得分:4)
此问题的另一种可能解决方案:我的rails 3服务器自动添加以下HTTP标头:
X-Ua-Compatible: IE=Edge,chrome=1
这改变了IE的8种行为。我删除它,它也解决了这个问题。使用IE时要记住的很多细节:/
答案 1 :(得分:2)
听起来像你在IE中遇到了恼人的hasLayout问题。因为你的div没有指定高度,并且你的flash电影的高度为100%,所以IE被难倒并恢复到默认高度(我认为它在300px范围内)。 This is a good article on hasLayout。您可以尝试添加display:inline-block或min-height:anyvalue到容器div以强制IE上的hasLayout并查看它是否有效。