最近项目中需要统计flash的点击量,经过测试发现通过透明Layer(图层)的办法来实现点击统计比较方便,不需要修改flash任何代码。方法如下:
首先在需要插入flash广告的地方加上一个DIV标记,然后在此DIV下插入flash广告,最后在flash广告代码下,添加一个透明Layer即可。
关于为什么先添加一个DIV,然后将flash及透明图层加到此DIV下的原因,这主要是为了解决定位问题,如果我们直接将flash和透明图层加到BODY下的话,那Layer的x和y作坐标势必定住了,不同分辨率下显示也会有所差别。而将透明图层加入到DIV后,它的x,y坐标就是相对于它外面的div而言,所以一旦外面的DIV位置不变,其中的透明层也就不会变了,而我们将外面的DIV放到页面的任何部分,它都是固定的(因为它是一个段落标记,而不是图层)
代码如下:
<html> <head> <title>淘特Flash点击统计</title> </head> <body>
<script language="javascript"> var ClickNum = 0; function CalCount() { alert("你已经点击Flash "+(++ClickNum)+" 次!"); } </script> <div> <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="300" height="200"> <param name="movie" value="test.swf"> <param name="quality" value="high"> <param name="wmode" value="transparent"> <embed src="test.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="300" height="200"></embed></object> <div id="apDiv1" onClick="alert('');" style="position:absolute; width:337px; height:199px; z-index:1; left: 0px; top: 0px; background-color:#FFFeee; filter:alpha(opacity=0);"></div> </div> </body> </html>
(责任编辑:admin) |