Html firefox和IE9的flash网站漏洞(但在IE6上有效!)
我的网站在firefox(firefox 4或firefox 7)上不工作,没有显示任何内容,甚至没有其他内容 使用IE9,问题是内容被压缩在页面顶部。。。(但它在IE6上工作!) html是:Html firefox和IE9的flash网站漏洞(但在IE6上有效!),html,flash,firefox,height,internet-explorer-9,Html,Flash,Firefox,Height,Internet Explorer 9,我的网站在firefox(firefox 4或firefox 7)上不工作,没有显示任何内容,甚至没有其他内容 使用IE9,问题是内容被压缩在页面顶部。。。(但它在IE6上工作!) html是: <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title&
<!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>
“高度”设置为100%似乎有问题,但我还能放什么呢?该网站在chrome、safari、ie6上运行
谢谢既然您正在使用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>
函数加载(){
var flashvars={},params={},attributes={},tmp,version,width,height,container,flashObj;
flashvars.UserId=“23061”;
params.menu=“true”;
params.quality=“高”;
params.bgcolor=“#869ca7”;
params.allowscriptaccess=“始终”;
params.allownetworking=“全部”;
attributes.id=“myId”;
attributes.name=“myId”;
attributes.align=“middle”;
attributes.allowscriptaccess=“始终”;
attributes.allownetworking=“全部”;
tmp=“expressInstall.swf”;
version=“9.0.115”;
宽度=“100%”;
高度=“100%”;
container=“replaceMe”;
flashObj=“myId.swf”;
嵌入SWF(flashObj、容器、宽度、高度、版本、tmp、flashvars、参数、属性);
}
正在加载内容。
[编辑]试试这个
<style>
html, body{
width:100%;
height:100%;
margin:0;
background:white;
overflow:hidden;
}
</style>
html,正文{
宽度:100%;
身高:100%;
保证金:0;
背景:白色;
溢出:隐藏;
}
既然您正在使用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>
函数加载(){
var flashvars={},params={},attributes={},tmp,version,width,height,container,flashObj;
flashvars.UserId=“23061”;
params.menu=“true”;
params.quality=“高”;
params.bgcolor=“#869ca7”;
params.allowscriptaccess=“始终”;
params.allownetworking=“全部”;
attributes.id=“myId”;
attributes.name=“myId”;
attributes.align=“middle”;
attributes.allowscriptaccess=“始终”;
attributes.allownetworking=“全部”;
tmp=“expressInstall.swf”;
version=“9.0.115”;
宽度=“100%”;
高度=“100%”;
container=“replaceMe”;
flashObj=“myId.swf”;
嵌入SWF(flashObj、容器、宽度、高度、版本、tmp、flashvars、参数、属性);
}
正在加载内容。
[编辑]试试这个
<style>
html, body{
width:100%;
height:100%;
margin:0;
background:white;
overflow:hidden;
}
</style>
html,正文{
宽度:100%;
身高:100%;
保证金:0;
背景:白色;
溢出:隐藏;
}
我最近也遇到了同样的问题,我将高度和宽度设置为100%,firefox不会显示IE9,因为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()
获得屏幕的宽度,然后使用数学圆($(window.width()*11)/24)
,因为我的电影的比例是24X11
这也是我的jQ解决方案,因为它是可用的,您可以使用screen.width来获得它。你可能需要将所有内容压缩成一行,尽管我只是将其隔开,以便你能看到发生了什么。我最近遇到了同样的问题,我将高度和宽度设置为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()
获得屏幕的宽度,然后使用数学圆($(window.width()*11)/24)
,因为我的电影的比例是24X11
这也是我的jQ解决方案,因为它是可用的,您可以使用screen.width来获得它。您可能需要将所有内容压缩到一行,尽管我只是将其隔开,以便您可以看到发生了什么。非常感谢您的帮助,我用您的代码更新了index.html,它仍然可以在其他浏览器上使用,但不能在firefox上使用(我现在有最后一个版本,第7个)。你能用firebug查看一下我的url吗?同样对于ie9,我已经将我的内容“压缩”在顶部,我发现我在Chrome、Safari等上也有同样的内容。如果我对index.html中的“css”行进行“注释”:如果我删除注释并让css行运行,除了在ie9上,它工作正常。。。有什么想法吗?谢谢你,我这里有FF7,我在测试页面内联运行了你的身体风格设置,我没有任何问题,所以我不认为这是在所有。我认为你应该尝试做同样的事情。不要加载任何CCS页面。添加我发布的代码并运行它,看看会发生什么。我想你有一个风格的地方,是凌驾于css我只是似乎找不到它与firebug lol.ohw的人!我在两个不同的论坛上问过这个问题,但都没有答案!你是总司令!非常感谢,真是松了一口气,非常感谢!;-)编辑:是的,我没有在ie9上尝试,因为我现在不在pc上,但它在firefox上可以工作,我希望这可以