【发布时间】:2011-12-14 06:44:39
【问题描述】:
我正在尝试使用 flash vars 将参数传递给我的 swf 文件。我正在使用 Swfobject 嵌入我的 swf。但是,我无法访问 swf 文件中的这些 flashvar。我已经为此烦恼了好几个星期了。我已经搜索了互联网、swfobject 的文档以及与此相关的其他问题。
这是我使用 swfobject 嵌入 swf 文件的 js 代码。
<script type="text/javascript" src="swfobject.js"></script>
<script type="text/javascript">
var flashvars = {};
flashvars.name1 = "hello";
swfobject.embedSWF("Comics.swf", "myContent", "950", "650","9.0.0","expressInstall.swf", flashvars, flashvars,flashvars);
</script>
这是我用于嵌入的 html 代码
<div id="myContent"></div>
swf 嵌入良好并产生以下内容
<object type="application/x-shockwave-flash" name1="hello" data="Comics.swf" width="950" height="650" id="myContent" style="visibility: visible; ">
<param name="name1" value="hello">
<param name="flashvars" value="name1=hello">
</object>
同样,swf 嵌入良好。我可以看到内容,但 flashvars 似乎为空。 这是我尝试访问 flashvars 的 flash 代码
var flashVars = root.loaderInfo.parameters;
addChild(Util.newLabel(" FlashVars: " + flashVars+" "+root.loaderInfo,0,0,400,100,12,0x0));
var y=0;
for(var i in flashVars){
addChild(Util.newLabel("FlashVars:"+i+":"+flashVars[i],0,y+=30,300,100,12,0x0));
}
Util 是我创建的一个自定义类,其中 newLabel(str:String,x:Number,y:Number,w:Number,h:Number,fontSize:uint, color:uint) 是一个返回标签组件的方法str 作为它的文本,x 和 y 作为它的位置,w 和 h 作为它的尺寸等等。我很确定 util 的东西可以工作,所以我想知道我如何真正加载 flashvars?
运行此代码时,我应该会看到一个变量名列表。
PS:上面的 flash 代码是在主时间轴中编码的(我使用 flash ide 编译我的代码),在第一帧中,而 Util 是在一个单独的文件中。主时间线中第一帧的根对象是 [object MainTimeline]。
如果您需要更多信息,请告诉我。提前致谢。
【问题讨论】:
-
你的参数应该在 flashVars["name1"]
-
我试过了,但我仍然不确定:(