我的网站无法在firefox(firefox 4或7)上运行,什么都没有出现,甚至没有替代内容
并且使用IE9,问题是内容在页面顶部被压缩...(但它适用于IE6!)
和html是:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title></title>
<link rel="stylesheet" type="text/css" media="all" href="style.css" />
<script type="text/javascript" src="jquery-1.5.1.min.js"></script>
<script type="text/javascript" src="jq.js"></script>
<script type="text/javascript" src="swfobject.js"></script>
<script type="text/javascript">
swfobject.registerObject("myId", "9.0.115", "expressInstall.swf");
</script>
</head>
<body>
<div id="flash">
<object id="myId" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="100%" height="100%">
<param name="movie" value="ombre.swf" />
<!--[if !IE]>-->
<object type="application/x-shockwave-flash" data="ombre.swf" width="100%" height="100%">
<!--<![endif]-->
<p>alternative content</p>
<!--[if !IE]>-->
</object>
<!--<![endif]-->
</object>
</div>
</body>
</head>
</html>
和css:
body {
width:100%; height:100%; margin:0; background:white; overflow:hidden;
}
似乎是“高度”设置为100%的问题,但我还可以放什么?该网站适用于chrome,safari,ie6 ......
感谢
答案 0 :(得分:2)
由于您使用的是swfObject,为什么不使用它来进行实际的嵌入 您将找到以下代码示例,以更加符合浏览器。
<script type="text/javascript" src="swfobject.js"></script>
<script type="text/javascript">
function loaded() {
var flashvars={}, params={}, attributes={}, tmp, version, width, height, container, flashObj;
flashvars.UserId = "23061";
params.menu = "true";
params.quality = "high";
params.bgcolor = "#869ca7";
params.allowscriptaccess = "always";
params.allownetworking = "all";
attributes.id = "myId";
attributes.name = "myId";
attributes.align = "middle";
attributes.allowscriptaccess = "always";
attributes.allownetworking = "all";
tmp = "expressInstall.swf";
version = "9.0.115";
width = "100%";
height = "100%";
container = "replaceMe";
flashObj = "myId.swf";
swfobject.embedSWF(flashObj, container, width, height, version, tmp, flashvars, params, attributes);
}
</script>
<body onLoad="loaded()" >
<div id="replaceMe">Loading content.</div>
</body>
[编辑]
试试这个
<style>
html, body{
width:100%;
height:100%;
margin:0;
background:white;
overflow:hidden;
}
</style>
答案 1 :(得分:2)
我最近遇到了同样的问题,我将高度和宽度设置为100%并且firefox不会显示IE9会将swf压缩到页面高度的顶部:100px或者其他东西。我用JavaScript修复它,实际上是jQuery(只是因为它可用):
基本上FF在你调整大小时不喜欢%值,IE9有不同的问题。如果添加了静态值,则不会出现问题。但我们不想要静态值吗?
无论如何,我通过告诉JavaScript为我编写Flash标记并根据屏幕大小插入静态值来解决我的问题。
<script type="text/javascript">
document.write('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="' + $(window).width() + '" height="' + Math.round(($(window).width()*11)/24) + '" id="YourMovieID" align="middle">
<param name="movie" value="YourMovie.swf"/>
<param name="wmode" value="opaque" />
<param name="scale" value="exactfit" />
<!--[if !IE]>-->
<object type="application/x-shockwave-flash" data="YourMovie.swf" width="' + $(window).width() + '" height="' + Math.round(($(window).width()*11)/24) + '" >
<param name="movie" value="YourMovie.swf"/>
<param name="wmode" value="opaque" />
<param name="scale" value="exactfit" />
<!--<![endif]-->
<!--[if !IE]>--></object>
<!--<![endif]-->
</object>')
</script>
我使用$(window).width()
获取屏幕宽度,然后使用Math.round(($(window).width()*11)/24)
,因为我的电影比例为24X11。
这又是我的jQ解决方案,因为它可用,您可以使用screen.width来获取它。您可能必须将所有内容压缩到一行,但我只是间隔它以便您可以看到正在发生的事情。