Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   API приложений и сред (http://www.flasher.ru/forum/forumdisplay.php?f=61)
-   -   Как передать параметры flashVars флэшке (http://www.flasher.ru/forum/showthread.php?t=145765)

Astraport 19.10.2010 09:45

Как передать параметры flashVars флэшке
 
Есть js скрипт вконтакте который передает параметры:

Код:

<script src="http://vkontakte.ru/js/api/xd_connection.js?2" type="text/javascript"></script>//добавим подключение скрипта
        <script type="text/javascript" src="swfobject.js"></script>
        <script type="text/javascript">
 VK.loadParams(document.location.href);//вызов параметров
            <!-- For version detection, set to min. required Flash Player version, or 0 (or 0.0.0), for no version detection. -->
            var swfVersionStr = "10.0.0";
            <!-- To use express install, set to playerProductInstall.swf, otherwise the empty string. -->
            var xiSwfUrlStr = "playerProductInstall.swf";
            var flashvars = {
            viewer_id: VK.params.viewer_id,//заносим нужные параметры в массив flashVars
            auth_key: VK.params.auth_key //заносим нужные параметры в массив flashVars
            };
            var params = {};
            params.quality = "high";
            params.bgcolor = "#cd2727";
            params.allowscriptaccess = "sameDomain";
            params.allowfullscreen = "true";
            var attributes = {};
            attributes.id = "myFlash";
            attributes.name = "myFlash";
            attributes.align = "middle";
            swfobject.embedSWF(
                "myFlash.swf", "flashContent",
                "100%", "100%",
                swfVersionStr, xiSwfUrlStr,
                flashvars, params, attributes);
            <!-- JavaScript enabled so display the flashContent div in case it is not replaced with a swf object. -->
            swfobject.createCSS("#flashContent", "display:block;text-align:left;");
        </script>

Есть код для вставки флэшки в HTML c помощью swfobject, который генерирует флекс.

Код:

<script type="text/javascript" src="swfobject.js"></script>
        <script type="text/javascript">
         
            var swfVersionStr = "10.0.0";
           
            var xiSwfUrlStr = "playerProductInstall.swf";
            var flashvars = {};
            var params = {};
            params.quality = "high";
            params.bgcolor = "#ffffff";
            params.allowscriptaccess = "sameDomain";
            params.allowfullscreen = "true";
            var attributes = {};
            attributes.id = "myFlash";
            attributes.name = "smyFlash";
            attributes.align = "middle";
            swfobject.embedSWF(
                "myFlash.swf", "flashContent",
                "100%", "100%",
                swfVersionStr, xiSwfUrlStr,
                flashvars, params, attributes);
                       
                        swfobject.createCSS("#flashContent", "display:block;text-align:left;");
        </script>

Как теперь передать FlashVars флэшке?

Добавлено через 1 час 29 минут
Решено:

1. В HTML вывода флэшки изменяем код вывода swfobject (в моих комментариях отмечено что нужно добавить):

Код:

<script src="http://vkontakte.ru/js/api/xd_connection.js?2" type="text/javascript"></script>//добавим подключение скрипта
        <script type="text/javascript" src="swfobject.js"></script>
        <script type="text/javascript">
 VK.loadParams(document.location.href);//вызов параметров
            <!-- For version detection, set to min. required Flash Player version, or 0 (or 0.0.0), for no version detection. -->
            var swfVersionStr = "10.0.0";
            <!-- To use express install, set to playerProductInstall.swf, otherwise the empty string. -->
            var xiSwfUrlStr = "playerProductInstall.swf";
            var flashvars = {
            viewer_id: VK.params.viewer_id,//заносим нужные параметры в массив flashVars
            auth_key: VK.params.auth_key //заносим нужные параметры в массив flashVars
            };
            var params = {};
            params.quality = "high";
            params.bgcolor = "#cd2727";
            params.allowscriptaccess = "sameDomain";
            params.allowfullscreen = "true";
            var attributes = {};
            attributes.id = "myFlash";
            attributes.name = "myFlash";
            attributes.align = "middle";
            swfobject.embedSWF(
                "myFlash.swf", "flashContent",
                "100%", "100%",
                swfVersionStr, xiSwfUrlStr,
                flashvars, params, attributes);
            <!-- JavaScript enabled so display the flashContent div in case it is not replaced with a swf object. -->
            swfobject.createCSS("#flashContent", "display:block;text-align:left;");
        </script>


2. В самой флэшке вызываем параметры (пример для Flex 4) ну и выводим их в виде текста в Label:

Код AS3:

public function init():void
            {
                var stat_vars:URLVariables = new URLVariables();
                stat_vars['auth_key']=parameters['auth_key'];// auth_key из FlashVars
                stat_vars['viewer_id']=parameters['viewer_id'];// ID просматривающего приложение
                auth_i.text = stat_vars['auth_key'];
                viewer.text = stat_vars['viewer_id'];
            }



Часовой пояс GMT +4, время: 00:37.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.