Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.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
SWF_对象的静态发布方法中是否有传递的FlashVar?_Flash_Actionscript 3_Swfobject - Fatal编程技术网

SWF_对象的静态发布方法中是否有传递的FlashVar?

SWF_对象的静态发布方法中是否有传递的FlashVar?,flash,actionscript-3,swfobject,Flash,Actionscript 3,Swfobject,我只是想知道,使用静态发布方法SWF对象,我们可以将FlashVar传递到FlashSWF文件吗 静态发布方法是 <head> <title>SWFObject 2 static publishing example page</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <script type="

我只是想知道,使用静态发布方法SWF对象,我们可以将FlashVar传递到FlashSWF文件吗

静态发布方法是

<head>
    <title>SWFObject 2 static publishing example page</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <script type="text/javascript" src="embedswf/swfobject.js"></script>
    <script type="text/javascript">
    swfobject.registerObject("myId", "9.0.0", "embedswf/expressInstall.swf");
    </script>
</head>

<body>
    <div>   
        <object id="myId" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="600" height="750" flashvars="var1=irfan" params="var1=irfan">
            <param name="movie" value="fish.swf" />
            <!--[if !IE]>-->
            <object type="application/x-shockwave-flash" data="fish.swf" width="600" height="750" flashvars="var1=irfan" params="var1=irfan">
            <!--<![endif]-->
            <div>
                <h1>Alternative content</h1>
                <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>
            <!--[if !IE]>-->
            </object>
            <!--<![endif]-->
        </object>
    </div>
</body>

SWFObject 2静态发布示例页面
注册表对象(“myId”、“9.0.0”、“embedswf/expressInstall.swf”);
替代内容


但是flashvars和param没有传递到flash文件???

我想你要问的是,你是否有一个使用SWFObject的静态嵌入SWF。。。。这是唯一有意义的方法。在这种情况下,答案是肯定的。即使您的嵌入标记是使用PHP或其他东西动态生成的,您仍然可以传递flash变量。最简单的方法是下载并安装swfObject AIR应用程序以生成嵌入标记

你会看到一个放闪光灯的地方。它只是键/值对,所以创建一个键“keyname”,并用数据填充它。然后在AS3中,在您的主类中(或任何真正的地方),您可以像这样访问这些数据:

root.loaderInfo.parameters.keyname;
假设您有一个值为“myUser”的键“userName”。你可以这样得到:

var uName:String = root.loaderInfo.parameters.userName;
trace(uName);

显然,您需要进行一些基本检查,以确保这些对象存在或不存在,但这就是访问flash变量的基本方式,也恰好与访问SWF url上的GET变量的方式相同。

使用静态发布时,您需要包括
节点(确保每个对象都包含一份副本):


替代内容


你能给我发一个链接到什么是“静态发布方法”吗是的,所以我可以帮你更好一点?我应该用这个而不是嗯…考虑到这是正确的答案,我不知道为什么我被标记下来。如果你想在使用SWFOObject的静态发布嵌入SWF时包含flashvars,你必须使用元素,并且必须为每个元素都包含它。我遗漏了什么吗?不,我不知道是谁你记下来了,为什么?但你的答案是正确的。
<object id="myId" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="600" height="750">
    <param name="movie" value="fish.swf" />
    <param name="flashvars" value="var1=irfan&var2=whatever" />

    <!--[if !IE]>-->
    <object type="application/x-shockwave-flash" data="fish.swf" width="600" height="750">
       <param name="flashvars" value="var1=irfan&var2=whatever" />
       <!--<![endif]-->

       <div>
          <h1>Alternative content</h1>
          <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>

    <!--[if !IE]>-->
    </object>
    <!--<![endif]-->
</object>