Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/366.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript swfobject的读flashvars问题_Javascript_Actionscript 3_Swfobject - Fatal编程技术网

Javascript swfobject的读flashvars问题

Javascript swfobject的读flashvars问题,javascript,actionscript-3,swfobject,Javascript,Actionscript 3,Swfobject,我有一个1.2mb的闪光swf。 我使用动态嵌入将其嵌入swfobject <script type="text/javascript"> var flashvars = {}; flashvars.campaignid = "12345678890"; var params = {}; params.allowscriptaccess = "always"; var attributes = {}; swfobject.embedSWF("soccer.swf", "myAlte

我有一个1.2mb的闪光swf。 我使用动态嵌入将其嵌入swfobject

<script type="text/javascript">
var flashvars = {};

flashvars.campaignid = "12345678890";
var params = {};
params.allowscriptaccess = "always";
var attributes = {};
swfobject.embedSWF("soccer.swf", "myAlternativeContent", "550", "400", "10.0.0", false, flashvars, params, attributes);
</script>
当我警告该值时,我得到空值 当我在一个小文件中使用相同的方法时,它会起作用。。 有人能帮我吗?
关于

在将主类添加到阶段后,可以尝试获取var。这将确保所有内容都已加载并准备就绪。试着这样做:

public function Main()
{
    if (stage) init();
    else addEventListener(Event.ADDED_TO_STAGE, init);
}

private function init(e:Event = null):void 
{
    removeEventListener(Event.ADDED_TO_STAGE, init);

    var campId:String = this.root.loaderInfo.parameters["campaignid"];
    trace('campId', campId);
}

也许在你的主类被添加到舞台上之后再尝试获取var。这将确保所有内容都已加载并准备就绪。试着这样做:

public function Main()
{
    if (stage) init();
    else addEventListener(Event.ADDED_TO_STAGE, init);
}

private function init(e:Event = null):void 
{
    removeEventListener(Event.ADDED_TO_STAGE, init);

    var campId:String = this.root.loaderInfo.parameters["campaignid"];
    trace('campId', campId);
}

我通过在嵌入代码中添加变量得到了答案。像这样

swfobject.embedSWF("soccer.swf?campaignid=1234556"", "myAlternativeContent", "550", "400", "10.0.0", false, flashvars, params, attributes);

谢谢你的帮助:)

我通过在嵌入代码中添加变量得到了答案。像这样

swfobject.embedSWF("soccer.swf?campaignid=1234556"", "myAlternativeContent", "550", "400", "10.0.0", false, flashvars, params, attributes);

感谢您的帮助:)

亚当·哈特的答案是正确的,我认为问题出在您的AS3代码中,以下几点让我特别困惑:

public function Main() 
{     
    loaderInfo.addEventListener(ProgressEvent.PROGRESS,update);  
    loaderInfo.addEventListener(Event.COMPLETE,onLoadedMovie);  
}

private function update(e:ProgressEvent):void { } 

private function onLoadedMovie(e:Event) 
{ 
    campId=this.root.loaderInfo.parameters["campaignid"];  
} 
我创建了一个简单(且有效)的代码外观示例:

index.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>FlashVars</title>
    <meta name="language" content="en" />
    <meta name="description" content="" />
    <meta name="keywords" content="" />
    <script src="js/swfobject.js" type="text/javascript"></script>
    <script type="text/javascript">
        var flashvars = { campaignid: "12345678890" };
        var params = { menu: "false", scale: "noScale", allowFullscreen: "true", allowScriptAccess: "always", bgcolor: "", wmode: "direct" };
        var attributes = { id:"FlashVars" };
        swfobject.embedSWF("FlashVars.swf", "altContent", "100%", "100%", "10.0.0", "expressInstall.swf", flashvars, params, attributes);
    </script>
    <style type="text/css">
        html, body { height:100%; overflow:hidden; }
        body { margin:0; }
    </style>
</head>
<body>
    <div id="altContent">
        <h1>FlashVars</h1>
        <p>Alternative content</p>
        <p>
            <a href="http://www.adobe.com/go/getflashplayer">
                <img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" />
            </a>
        </p>
    </div>
</body>
</html>
以下是在浏览器中运行beening示例的图像:


亚当·哈特的答案是正确的,我认为问题出在你的AS3代码中,以下几点让我特别困惑:

public function Main() 
{     
    loaderInfo.addEventListener(ProgressEvent.PROGRESS,update);  
    loaderInfo.addEventListener(Event.COMPLETE,onLoadedMovie);  
}

private function update(e:ProgressEvent):void { } 

private function onLoadedMovie(e:Event) 
{ 
    campId=this.root.loaderInfo.parameters["campaignid"];  
} 
我创建了一个简单(且有效)的代码外观示例:

index.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>FlashVars</title>
    <meta name="language" content="en" />
    <meta name="description" content="" />
    <meta name="keywords" content="" />
    <script src="js/swfobject.js" type="text/javascript"></script>
    <script type="text/javascript">
        var flashvars = { campaignid: "12345678890" };
        var params = { menu: "false", scale: "noScale", allowFullscreen: "true", allowScriptAccess: "always", bgcolor: "", wmode: "direct" };
        var attributes = { id:"FlashVars" };
        swfobject.embedSWF("FlashVars.swf", "altContent", "100%", "100%", "10.0.0", "expressInstall.swf", flashvars, params, attributes);
    </script>
    <style type="text/css">
        html, body { height:100%; overflow:hidden; }
        body { margin:0; }
    </style>
</head>
<body>
    <div id="altContent">
        <h1>FlashVars</h1>
        <p>Alternative content</p>
        <p>
            <a href="http://www.adobe.com/go/getflashplayer">
                <img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" />
            </a>
        </p>
    </div>
</body>
</html>
以下是在浏览器中运行beening示例的图像:


我已经更改了嵌入代码,它似乎正在工作。swfobject.embedSWF(“soccer.swf?activationId=1234556”,我不知道原因,但我在flashDoes中得到了值我已经更改了嵌入代码,它似乎正在工作。swfobject.embedSWF(“soccer.swf?activationId=1234556”,我不知道原因,但我在flashDoes中得到了值“当我提醒该值”是指使用
alert()
使用javascript或
trace()
使用actionscript。还有什么“当我在一个小文件中使用相同的方法时,它会起作用”意思是什么?什么小文件?Alert是flash中的第三方警报类。小文件的意思是大小约为1.6MB。但问题是我制作了另一个1.8MB的文件,swf读取参数。实际上我得到了答案。我只是在嵌入代码中添加了变量,比如swfobject.embeddeswf(“soccer.swf?activid=1234556”)在“我发出警报时”当您将
alert()
与javascript一起使用,或将
trace()
与actionscript一起使用时,这意味着什么?还有,“当我在一个小文件中使用相同的方法时,它会起作用”意思是什么?什么小文件?警报是flash中警报的第三方类。小文件意味着大小约为1.6MB。但问题是我制作了另一个1.8MB的文件,swf读取参数。实际上我得到了答案。我只是在嵌入代码中添加了变量,如swfobject.embedSWF(“soccer.swf?activity id=1234556”)