如何在Flash动作脚本3.0中访问查询字符串?

时间:2010-02-22 11:11:54

标签: flash actionscript-3

在as2中,只使用_root访问查询字符串非常容易,但这似乎不适用于as3。

<embed src="loaderInfoExample.swf?a=123" quality="high" bgcolor="#0000ff" width="250" height="50" name="loaderInfoExample" align="middle" allowScriptAccess="sameDomain" allowFullScreen="false" type="application/x-shockwave-flash" pluginspage="http://www.adobe.com/go/getflashplayer" />

我如何获取a的值?我尝试使用_root以及在flash客户端尝试过这个: -

userNameTextField.text=root.loaderInfo.parameters.a;

但两者似乎都不起作用。可能是什么问题?

3 个答案:

答案 0 :(得分:2)

它应该工作。尝试使用SWFObject正确包含Flash内容,并将参数作为 flashvars 部分传递。

顺便说一下。您还应该添加一些检查例程以确保root.loaderInfo.parameters.a不是null,因为将null分配给TextField的text属性会产生错误。

答案 1 :(得分:1)

在自动生成的代码中查看下面您必须在那里添加FlashVar才能使其正常工作

<script language="JavaScript" type="text/javascript">
 AC_FL_RunContent(
  'codebase', 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=10,0,0,0',
  'width', '550',
  'height', '400',
  'src', 'deleteme',
  'quality', 'high',
  'pluginspage', 'http://www.adobe.com/go/getflashplayer',
  'align', 'middle',
  'play', 'true',
  'loop', 'true',
  'scale', 'showall',
  'wmode', 'window',
  'devicefont', 'false',
  'id', 'deleteme',
  'bgcolor', '#ffffff',
  'name', 'deleteme',
  **'FlashVars', 'tester=test',**
  'menu', 'true',
  'allowFullScreen', 'false',
  'allowScriptAccess','sameDomain',
  'movie', 'deleteme',
  'salign', ''
  ); //end AC code
</script>

答案 2 :(得分:0)

当你的电影至少 inited 时,请尝试这样做,

e.g:

this.loaderInfo.addEventListener(Event.INIT, paramsReady);

function paramsReady(event:Event):void{
userNameTextField.text=this.loaderInfo.parameters.a;
}