随着flash的日益普及, flash在web开发上面可是大显身手,既然是web-site,那当然离不开基本的html页面,以下是本人平时在制作flash站点时候经常要用到的与html方面的实用小技巧,不算多适合刚刚接触用flash进行web开发的朋友,希望能够对大家有一定的帮助,本人算不上什么高手,错误之处还是难免的,请大家多多包涵,谢谢!
玩过flash+asp/php开发的朋友都知道,在flash软件里测试flash从后台脚本读取数据的时候,不能直接的用如“loaddata.asp”这样的路径,必须是http://www.domain.com/application/loaddata.asp 或者 http: 开头的路径。有些人问了?为什么呢?
当flashplayer里测试的时候收到load("loaddata.asp")这个命令的时候,他会直接读swf文件路径下的 loaddata.asp文件。但由于没有经过iis的运行处理,直接读入flash内部,当然,读出的结果就是%@language="vbscript" codepage="65001"%类似这样了,所以就无法根据我们的意愿来处理数据了,而当flashplayer执行load("http://www.domain.com/application/loaddata.asp")这个命令的时候,他就不再是本地的txt文件读取命令,而是一个http请求,flashplayer把这个请求发送到http服务器,服务器的iis解析脚本返回结果后flashplayer便可以正确的处理这些数据了。(废话一堆)
当然如果你清楚了路径的关系,也可以把写load("loaddata.asp")写到flash里,上传的时候,把.asp .swf 和包含 .swf的html文件,都放在一个目录里就行了。特别指出的是swf 在取得路径时,是取包含他的html和.asp的关系的。而不是 swf 与 asp的路径关系。
说起来已经是有一点晕了,但如果理解了路径的关系,那就非常简单了。
好了,进入正题,虽然输入http路径就可以正确读取数据,但是在程序开发测试阶段可能经常需要开发者更换服务器,那样就对我们造成了一定的麻烦,你每更换到另外一个服务器上面的时候就要修改一次他的http路径,如果读取了n(n≠0)个文件,难道还要手动修改n次?当然不是,那么通过下面这个小技巧便可以轻松解决这个问题:
把swf文件嵌入到一个asp页面里面,输入如下代码:
<%
dim pageurl,urlarry,i,applicationurl
pageurl="http://" & request.servervariables("http_host") & request.servervariables("url")
response.write "pageurl="&pageurl
urlarry=split(pageurl,"/")
arryubound=ubound(urlarry,1)-1
for i=0 to arryubound
applicationurl=applicationurl&urlarry(i)&"/"
next
response.write "<br>applicationurl="&applicationurl '这一句仅仅是测试代码是否正确,可省
%>
好了,对asp有一定了解的朋友应该都明白代码是什么意思了,php也可以用这种思路来写,下面在swf路径中可以这样写 <%="flash.swf?myserver="&applicationurl%> 这样就可以通过url把变量传递给swf文件,在flash影片中便可以直接访问这个变量了,就是_root.myserver。 好的,现在来让我们测试一下结果,先编写一个loaddata.asp,让他返回一个back变量。
打开flash,新建一个文件。然后在场景中拖入两个动态文本框,分别命名为txt.url 然后在第一帧输入以下代码:
mytxt=new loadvars()
mytxt.load(_root.myserver+"loaddata.asp")
mytxt.onload=function(success){
if(success){
txt.text=this.back
url.text=_root.myserver+"loaddata.asp"
}else{
txt.text="no file"
url.text=_root.myserver+"loaddata.asp"
}
}
好了,ctrl+enter,发布影片,,然后把swf文件嵌入之前的那个asp页面,就可以看看效果了,分别在ie地址栏里面输入http://127.0.0.1/**** , http://localhost/***** , http://本机ip地址/**** 如果都能正确读取,那就说明已经ok了,呵呵,下面的慢慢玩吧!
编辑语:如果在调试的时候,用绝对路径,那么在测试完毕上传前,改为相对路径会更方便整个目录在站点里的移动,也就可以不用上述复杂的方法了。
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器