As3和FlashVars

时间:2011-12-05 13:09:56

标签: actionscript-3

我卡住了

我得到了这个需要以某种方式配置的闪光灯

我的代码看起来像这样

HTML

<object type="application/x-shockwave-flash" data="banner.swf" width="896" height="240">
    <param name="movie" value="banner.swf" />
    <param name="flashvars" value="hrefUrl=http://stackoverflow.com&popup=true" /> 
</object>

的Actionscript

import flash.display.Sprite;
import flash.net.navigateToURL;
import flash.net.URLRequest;
import flash.net.URLVariables;
import flash.display.LoaderInfo;

//var paramList:Object = root.loaderInfo.parameters;
//var flashVars:Object = LoaderInfo(this.root.loaderInfo).parameters;

// Url to page, default to google
var hrefUrl:String = (root.loaderInfo.parameters.hrefUrl) ? root.loaderInfo.parameters.hrefUrl : "http://www.google.com";

// Popup or not, default to _self
var popup:String = (root.loaderInfo.parameters.popup == "true") ? "_blank" : "_self";

// Fire the event
btn.addEventListener(MouseEvent.CLICK, onClick);

function onClick(evt:MouseEvent):void {
    var req:URLRequest = new URLRequest();
    navigateToURL(new URLRequest(hrefUrl), popup);
}

由于某种原因,这不起作用,但如果我出于某种原因将flashvars放入数据参数中,则可以使用

实施例

<object type="application/x-shockwave-flash" data="banner.swf?hrefUrl=http://stackoverflow.com&popup=true" width="896" height="240">

这里有什么问题?我已经对这个人盲目主持了

由于

2 个答案:

答案 0 :(得分:2)

可能root未定位[object MainTimeline]。所以请使用stage

答案 1 :(得分:2)

如果您向我们展示的动作脚本位于主时间轴中,则

root.loaderInfo...将起作用。否则,请使用stage.loaderInfo...