[Flash动画制作技巧]Flash广告点击率的深入研究:
其实原理很简单。这用到的就是静态传值的知识。
1.先看看flash静态传值的简单实现:
首先新建一个名为myflash的flash文件
在舞台用文本工具建一个动态文本框,命名为aa,然后在第一桢输入mytxt.text=val,按enter测试,文本框显示为undefined,你开始纳闷了,不奇怪,因为你还没有赋值。
下面我们在地址栏输入http://localhost/myflash.swf?val=你好,世界!(注意:你要将动画上传到网页空间[那就要在你的文件绝对地址后增加‘val=你好,世界!了’]或是在自己机子上装有服务器,我是在自己机子上装要IIS), 奇迹发生了,怎么样,你的动画舞台上是不是也显示了” 你好,世界!”(改一改等于号后面的文字试试),这就是变量被传到了flash。
知道了运行的原理,上面的问题轻而易举就解决了,相信许多聪明的朋友就会使用这一知识来做比上面更加酷的效果,用来装饰自己的空间了(呵呵,我的QQ空间就使用了)。
其实我们还可以同时向flash传递多个值:在flash中如何使用这些变量和值,就在于你了(总不至于有多少个变量就设多少个文本框吧)。(注意:变量和值间必须使用值对的形式,如:company=Macromedia&address=600 Townsend&city=San Francisco&zip=94103)
2.也可以在网页中赋予flash变量(为了观看,其他参数省略)
(试试效果是不是一样)
当然,你也可以使用js设置你传入的值为变量,并根据你的要求而变化(这我就不做详细的讨论了)
知道了上面的原理,要对广告的点击进行统计也不是一件难事了(http://localhost/count.htm要根据你的主机地址相应地变化)。
那么就让我们来研究一下其中的原理(详细代码就不提供了,因为这其中要实现的功能各式各样,相信知道了其中的原理再想实现功能就只是编程高低的问题了,呵呵,申明一下,本人也是一菜鸟,所以还请高手不要取笑)
新建一个动画文件,存储为myflash,在舞台建一个按钮,赋予脚本:
on(release){getURL(”http://localhost/count.htm?clicktag” clicktag ”detail.htm”);}
发布动画,打开其中的myflash.html文件,将参数修改为
那么用户对广告的反应是如何被跟踪的呢?如图:
原来clicktag变量值定义的URL首先传递给http://localhost/count.htm这个负责跟踪统计的站点,此页面一般是使用动态页面如asp,jsp等,呵呵懂得jsp或者其他的动态语言的用户就有用武之地了, 只要截取clicktag变量,每传过来一次就加一次(废话:当然你也可以作弊,不妨多加几次来迷糊用户一下),这页面一般不会直接显示给用户(当然也可以拉),而后再由该站点设置一个称为“重定向“的技术转向http://localhost/ detail.htm页面(也就是你点击广告后打开的页面),IIS有设置重定向的功能.至于重定向,恰好我这有个经常用的,提供给大家参考下
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh-CN">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>myflash</title>
</head>
<body bgcolor="#ffffff">
<div>
<font size="5"></font>
<script language="javascript">
<!--
function getvalue(r){
var countbegin;
var countend;
var count;
var s=location.search;
var d="?";
var index=s.indexOf(r);
if(index!=-1){
countbegin=(s.indexOf("=",index) 1);
countend=s.indexOf(d,index);
if(countend==-1){
countend=s.length;
}
count=s.substring(countbegin,countend);
return (count);
}
}
//记录clicktag的值
document.write('点击的代码:'getvalue("clicktag"); '<br>');
//新打开一个窗口,重定向到目标URL
window.open(getvalue("clicktag")
-->
</script>
</div>
</body>
</html>
哎,本来以为半小时能够完成的,结果花了差不多3个小时(而且只是简单地叙述了原理和过程,因为我写的那个实现过程比较长,又要考6级了,所以有时间才贴出来,其实只要学习过动态语言,知道了原理,编个计数器也不是很难事),明明知道的东西要表达清楚还真的不是很容易的事呀,原来写教程真的是件比较辛苦的事呀.......
推荐阅读: