Есть ли какие-либо из проходящих flashvars в статическом методе публикации SWF_Object? - PullRequest
2 голосов
/ 31 мая 2011

Ну, я просто хочу знать, что используя статический метод публикации SWF-Object, мы можем передать flashvars в файл flash swf ??

Статический метод публикации:

<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>

но flashvars и параметры не передаются во флэш-файл ??

Ответы [ 2 ]

3 голосов
/ 31 мая 2011

При использовании статической публикации необходимо включить узлы <param> (обязательно указывайте копию для каждого объекта):

<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>
1 голос
/ 31 мая 2011

Я думаю, что вы спрашиваете, есть ли у вас статически встроенный SWF, использующий SWFObject ... это единственный способ, который действительно имеет смысл.В этом случае ответ - да.Даже если ваш тег встраивания был сгенерирован динамически с использованием PHP или чего-то еще, вы все равно можете передавать флэш-переменные.Самый простой способ сделать это - загрузить и установить приложение swfObject AIR для создания тега вставки.

http://code.google.com/p/swfobject/downloads/list

Вы увидите область для flashvars.Это просто пары ключ / значение, поэтому создайте ключ «имя ключа» и заполните его своими данными.Затем в AS3 внутри вашего основного класса (или где угодно) вы можете получить доступ к этим данным следующим образом:

root.loaderInfo.parameters.keyname;

Итак, допустим, у вас есть ключ «userName» со значением «myUser».Вы можете получить это так:

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

Очевидно, что вы захотите выполнить некоторую базовую проверку, чтобы убедиться, что эти объекты существуют, а что нет, но именно так вы получаете доступ к флэш-переменным, а также происходиттаким же образом вы получаете доступ к переменным GET по URL SWF.

...