Flash动态解析Web应用程式服务器路径

2008-04-02 11:07:26来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折


  动态解析FlashWEB应用程式的HTTP服务器路径

  玩过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了,呵呵,下面的慢慢玩吧!

  备注:假如在调试的时候,用绝对路径,那么在测试完毕上传前,改为相对路径会更方便整个目录在站点里的移动,也就能够不用上述复杂的方法了。

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇: OnMouseEvent事件详解

下一篇: 出色梦幻朝霞动画效果,Flash制作方法