我正在查看一些adobe documentmentiation http://blogs.adobe.com/pdehaan/2006/07/using_flashvars_with_actionscr.html,但这只是一个错误。当我通过this.root.loaderInfo.parameters为每个人做的时候,我只能打印出值。我想要flash变量的实际名称,而不是值。我怎么能这样做?
var paramObj:Object = this.root.loaderInfo.parameters
for each (var param:String in paramObj)
{
trace("key?: " + param);
//var valueStr:String = String(paramObj[param]);
//trace("param" + param + " name: " + valueStr);
}
上面的代码打印出值。
答案 0 :(得分:1)
这是完全错误的。
我不确定你在说什么,这是你提供的链接中的代码:
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-XXXXXXXXX-X']);
_gaq.push(['_setDomainName', 'none']);
当我通过this.root.loaderInfo.parameters为每个人做的时候,我只能打印出值。
这很可能是示例代码不使用// AS3
var tf:TextField = new TextField();
tf.autoSize = TextFieldAutoSize.LEFT;
tf.border = true;
addChild(tf);
tf.appendText("params:" + "\n");
try {
var keyStr:String;
var valueStr:String;
var paramObj:Object = LoaderInfo(this.root.loaderInfo).parameters;
for (keyStr in paramObj) {
valueStr = String(paramObj[keyStr]);
tf.appendText("\t" + keyStr + ":\t" + valueStr + "\n");
}
} catch (error:Error) {
tf.appendText(error.toString());
}
循环而是使用for each in
循环的原因之一。
如果您正在使用示例代码,请尽量密切关注它。如果您修改代码并且它不再起作用,请不要责怪原始代码。
答案 1 :(得分:0)
这类似于我用来追踪我的flashVars。
for (var param:String in paramObj)
{
trace(param + " : " + paramObj[param]);
}