互联网观察 网站建设 网站运营 网络创业 电子商务 建站软件 建站软件教程 网站开发 网页制作 收藏本站
建站常识 | 域名 | 主机 | 网上开店 | 搜索引擎优化 | 网站推广 | 站长赚钱 | 站长经验 | 个人建站 | 网站设计 | 网页特效
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内部,当然,读出的
结果就是" CODEPAGE="65001"%类似这样了,所以就无法根据我们的意愿来处理数据了,而当Flas
hPlayer执行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.Server
Variables("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){


搜索黑马建站宝典:    版权所有 Copyright© 2006 黑马建站宝典