制作自适应分辨率的flashbanner
工作需要,要制作一个自适应分辨率的flashbanner。网上一搜,发现方法很多,但是都是讲如何制作全屏flash的,方法一般也是把flash的width设为100%。这个方法在做banner的时候会出问题。因为这里还存在flash播放控件大小的问题。flash控件的默认高度为160px左右,而且不会随flash的缩小而缩小。所以当flashbanner的高小于160的时候,就会在flash的上下出现黑边。综合网上的方法,初步解决了这个问题。
具体做法:写一个scalebanner的js函数捕获flash obectj的id并设置大小。然后在body标签中的onload&onresize事件中调用scalebanner函数。基本就实现了要求
不过目前还有一个问题,有部分机器在浏览的时候出现无法获取对象id的问题,现在还在找原因和解决方法。
function scalebanner()
{
var obj = document.getElementById("flash_banner");
obj.width = document.body.clientWidth-4
obj.height = (108*obj.width)/1006
}
bject classid="clsid:D27CDB6E-AE6D-11CF-96B8-444553540000" id="flash_banner" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" border="0" width="100%" height = 106>
<param name="movie" value="images/line_.swf">
<param name="quality" value="High">
<param name = "scale" value="Showall">
<embed src="images/line_.swf" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" name="obj1" width="100%" οnresize="javascript:scalebanner()"></object>