所有
这就是我想要完成的事情。
我有一个嵌入在DIV中的Flash SWF。根据用户与SWF的交互,我想动态调整SWF的高度。
SWF本身高1200像素。默认情况下,DIV的高度为690像素,因此SWF的下半部分被剪裁(这是我想要的行为)。然后,DIV将缩小或增长,显示或削减更多的SWF。
以下是我的HTML的样子:
<body>
<div id="flash_wrapper">
<div id="flash_content">
This div will be replaced by an object via SWFObject
</div>
</div>
</body>
这是我的CSS:
body, html {
margin: 0;
padding: 0;
background:#ffffff;
}
#flash_wrapper {
width:1000px;
height:690px;
margin:0;
}
#flash_content {
display: block;
width: 100%;
height: 100%;
}
最后,我有一个JavaScript函数,如下所示:
function updateFlashDivHeight(h) {
document.getElementById("flash_wrapper").style.height = h;
}
SWF调用JavaScript函数并传递高度参数,如“900px”和voilá! - DIV完美调整大小。到目前为止,这在我测试过的所有浏览器(IE8,Firefox,Chrome,Safari)中都非常有效,除了IE6。
对于这个(特别是CSS),我是一个新手,所以我可能犯了一个非常简单的错误。
非常感谢提前!
答案 0 :(得分:1)
在updateFlashDivHeight例程中放入一个警告语句。这样你知道这个例程是否表现得很不稳定 - 但仍然被调用,或者如果你对这个例程的调用在某种程度上是错误的。 IE6有很多错误,所以它可能都是。
至少你知道在哪里寻找罪魁祸首。
很抱歉,如果这个答案太明显了。作为一个长时间盯着问题的程序员,你有时会忽略这一点。我知道我这样做:)。
答案 1 :(得分:0)
这是一个黑暗中的镜头,但你是否在SWF中使用LocalConnection与你的Javascript功能进行通信?如果是这样,您是否仔细检查您正在测试的页面是否一次只能在一个浏览器中打开?如果页面在多个浏览器(或同一浏览器中的两个窗口)中打开,则LocalConnection将无法正常工作。