![]() |
||||
| 首页- 邮件- 社区- 短信- 新闻- 体育- 财经- 汽车- 房产家居- IT- 游戏- 生活- 健康- 女人- 旅游- 教育- 求职- 娱乐- 动漫- 校园 | ||||
| 新闻资讯 - 实用手册 - 网狐教程 - 硬件行情 - 软件精品廊 - 手机时尚 - 网络倾情 - 热点追踪 - 免费大全 - IT写作论坛 | ||
|
Flash类文章
Flash向服务器发送数据失败的原因 该文章适用对象
问题: 当Flash电影在浏览器中通过使用"Load Variables"(加载变量)或"Get URL"(获取链接)这项指令来向服务器发送数据信息时总发生错误,服务器端应用程序始终无法正确记录变量信息,这种现象只发生在Flash Player 4.0r20 (Macintosh)和4.0r25 (Windows)这两个版本中。 原因: 这个版本的Flash播放器在从Flash电影中传送变量时会插入一个额外的"&"符号,这就是导致采用ASP或CGI的服务器无法正确接受数据的原因。 此版本会在传送的变量数据头部插入该"&"符号,从而影响到使用"get"(获取)或"post"(发布)方式生成的电影。由于这个额外符号的存在,它将导致目标文件接收数据信息时如果未发现额外的符号即拒绝接收数据。 此问题在4.0r20和r25版本的Flash播放器中存在,但已经在4.0r26以及后续的升级版本中与以修正,您可以从Flash播放器下载中心下载最新版本的软件。 范例: 解决方案: 针对此问题我们可以提供若干种脚本编辑方法来解决。 下面提供的解决方案将不受你所安装的Flash 4播放器版本的影响。 应该说这是解决上述问题的最简单的方法,因为它只对电影做非常微小的修改。但实际操作中,由于某些Flash放映器和服务器端脚本的复杂性,在修改过程中可能还并非如想象中那样简单。 1:添加"Get URL"(获取链接)指令,将URL区域设置为"Expression"(表达式)。 2:在上引号后添加URL的名称,并紧跟一个"?"符号以及第一个需传输的变量的名称,在最后添加一个"="等号标志。 3:标出一个下引号,跟着一个"&"符号。添加一个变量名称。 4:继续添加更多的变量,再加一个"&"符号,加一个上引号,跟着再加一个"&"符号,加下一个变量的名称,跟一个"="符号,加一个下引号,然后是另一个"&"符号,以及下一个变量的名称。重复上述步骤直至所有数值全部传输完毕。 5:在需要的情况下更改"Window:"设置,但请将"Variables:"的设置保持为"Don't Send"(不发送)状态。这一点非常重要,因为在上面的表达式中变量已经被发送出去了。最后点击"OK"结束全部操作。 Flash播放器会将一个隐藏的数值插入到Flash电影的主时间线上,这个称为"$version"的数值包含有一个字串,显示用户使用的播放器的版本号。为了获取这个数值,就需要使用"eval"函数。反馈结果字串将包含三个字母,显示出用户执行的平台,而另外一串数字则显示播放器的具体版本号。 例: MAC 4,0,20, 0WIN 4,0,25,0 使用上面所讲的这个函数,就可以对获取到的信息进行分析,并产生一个符合逻辑的表达式,以便根据相应的情况决定具体的做法。 范例: Set Variable: "player" = Eval("$version") 注:"$version"变量是在第一版Flash 4播放器发布之后才在后续更新版本中添加的一个变量,因此如果用户使用的是老版本播放器,而没有包含这个变量,那么这个字串就会是空的。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||