使用SWFObject
在doctype equaling strict下嵌入flash聊天室时遇到问题如果没有严格的doctype我会失去保证金:IE下的自动使用。使用严格的doctype flash聊天室根本没有正确加载。我阅读了严格的doctype的swfobject嵌入技术,但实际上并没有得到它。这就是我在下面的内容,但它在顶部拼凑闪光而不是将它扩展到100%的高度
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Flashchat</title>
<link href="sitecss.asp" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="flash_swf">
<script type="text/javascript">
//<![CDATA[
var so = new SWFObject("swf.swf", "videochat", "100%", "100%", "8", "#FFFFFF");
so.addVariable("rootPath", "http://www.domain.com/flashchat/");
so.addVariable("roomId", "Room");
so.addVariable("app", "chat/videochat.swf");
so.addVariable("uid", "somename");
so.addVariable("skin", "Lead Grey");
so.addParam("wmode", "opaque");
so.write("flash_chat_swf");
// ]]>
</script>
</div>
</body>
</html>
好的,我使用javascript在页面加载时调整flash大小
<script type="text/javascript">
function resize(){
var frame = document.getElementById("flash_swf");
var htmlheight = document.body.parentNode.scrollHeight;
var windowheight = window.innerHeight;
if ( htmlheight < windowheight ) { document.body.style.height = windowheight + "px"; frame.style.height = windowheight + "px"; }
else { document.body.style.height = htmlheight + "px"; frame.style.height = htmlheight + "px"; }
}
</script>
<body onload="resize()" onresize="resize()">
但是,我的顶部菜单高度为40px。所以我不得不设置DIV边距的余量:40px 0 0 0;。现在闪光灯的截止时间太短了40px。如何在javascript中设置htmlheight和windowheight,使其减少40像素(-40px)?
答案 0 :(得分:1)
我认为文档类型与您的问题无关! 您使用的是SWFObject的最新版本(我认为您使用的嵌入方法已经过时了......)
无论如何,这条线
so.write("flash_chat_swf");
应替换为
so.write("flash_swf"); // corresponds to the div id the flash should be written in
请在div之外插入java脚本代码。
您应该实现此脚本,而不是手动调整窗口大小:http://swffit.millermedeiros.com/这适用于swfobject。
希望这有帮助!