在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;
但两者似乎都不起作用。可能是什么问题?
答案 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;
}