我的页面中有一个flash对象,我希望尽可能大。页面几乎是裸露的,除了一件事:顶部的一个栏。
HTML:
<head>
<script type="text/javascript" src="swfobject.js"></script>
<script type="text/javascript">
// setting flashvars, params, attributes
//...
// adding swf
swfobject.embedSWF("myflash.swf", "myAlternativeContent", "100%", "100%", "9.0.114", "swfobject/expressInstall.swf", flashvars, params, attributes);
</script>
</head>
<body>
<div id='banner'>
this is random text, could be an image, could be a menu, with a certain random height i cannot predict
</div>
<div>
<div id="myAlternativeContent">
</div>
</div>
</body>
当我在IE 8中查看此页面时,flash对象的确高度为100%,但它是浏览器窗口,而不是父div。这意味着我得到一个垂直滚动条,如果我滚动它,闪光灯会填满整个窗口。这不是我想要的。我希望页面没有滚动条,闪光灯具有窗口其余部分的高度。
我用javascript尝试了这个解决方案(在结束div之后):
<script language="javascript" type="text/javascript">
function getWindowHeight() {
// by http://www.howtocreate.co.uk/tutorials/javascript/browserwindow
var myHeight = 0;
if( typeof( window.innerWidth ) == "number" ) {
//Non-IE
myHeight = window.innerHeight;
} else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
//IE 6+ in "standards compliant mode"
myHeight = document.documentElement.clientHeight;
} else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
//IE 4 compatible
myHeight = document.body.clientHeight;
}
return myHeight;
}
var otherheight = document.getElementById("banner").offsetHeight;
document.getElementById("myAlternativeContent").parentNode.style.height = (getWindowHeight() - otherheight) + "px";
</script>
但是后来我发现即使父div的高度设置为正确的数量,flash对象也会完全忽略它并且不会重绘或者其他任何东西,只是保持它的快乐高度。
我怎样才能完成我想做的事情?没有滚动条,顶部有横幅,然后窗口的其余部分充满了我的flash对象?
答案 0 :(得分:0)
修改后的答案:尝试修改对swfobject.embedSWF的调用,以便正确计算您给出的高度,而不是%年龄 - 即将其设置为:
(getWindowHeight() - otherheight)
如果调整窗口大小,您还需要小心......(参见point #1)。这是您当前代码的问题