Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   использование flashVars в swfObject 2.2 (http://www.flasher.ru/forum/showthread.php?t=164762)

Universe 18.08.2011 18:52

использование flashVars в swfObject 2.2
 
Перехожу с swfObject 1.5 на swfObject 2.2
возникли некоторые непонятки!Не могу передать flashVars

HTML
Цитата:

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="http://www.facebook.com/2008/fbml">
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/swfobject/2.2/swfobject.js"></script>
</head>
<body>
<div id="fb-root"></div>
<div id="flashContent">
<h1>You need at least Flash Player 9.0 to view this page.</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>
<script type="text/javascript">
//Dynamic publishing with swfObject
var flashVars = {xmlPath:"config.xml"};
//A 'name' attribute with the same value as the 'id' is REQUIRED for Chrome/Mozilla browsers
swfobject.embedSWF("main.swf?<? echo(time()) ?>", "flashContent", "980", "205", "9.0", flashVars, null, null, {name:"flashContent"});
</script>
</body>
</html>
AS3
Код AS3:

swfObjectVars = LoaderInfo(this.loaderInfo).parameters;
 
                        if(swfObjectVars["xmlPath"])
                        {
                                xmlPath = loaderInfo.parameters.xmlPath + "?rnd="+Math.random();
                        }
                        if(swfObjectVars["cssPath"])
                        {
                                cssPath = swfObjectVars["cssPath"] + "?rnd="+Math.random();
                        }
                        vars_txt.text = "xmlPath " + xmlPath + " cssPath " + cssPath;

что делаю не так?

Добавлено через 14 минут
блин, перепутал flashVars и params:)

Добавлено через 15 минут
кстати, а в чём разница между ними? Я так и не понял, вроде одно и тоже делают!

stweet 18.08.2011 19:17

Код AS3:

var ob:Object = this.root.loaderInfo.parameters;
var pathToXml:String = ob.xmlPath;

У меня как то так всегда и везде работает, правда, разницы между ними не знаю, всегда flashVars - ами пользовался.

Universe 18.08.2011 19:27

но то что вы сейчас написали это ведь параметры, а не flashVars?

stweet 18.08.2011 19:29

почему? Попробуйте.

Добавлено через 2 минуты
Код:

index.xml
....

flashVars = { xmlPath: "myXml.xml" };

// можно и так
flashVars.xmlPath = "myXml.xml";


toFL 18.08.2011 19:36

К слову, сравнил скорость работы проверки на наличие параметра у Object:

1) 46 мс
Код AS3:

o.param != undefined

2) 84 мс
Код AS3:

o["param"] != undefined

3) 152 мс
Код AS3:

o.hasOwnProperty("param")

Результаты актуальны и для loaderInfo.parameters

Universe 18.08.2011 20:32

ну я не знаю какой величины должен быть передаваемый объект чтобы это стало заметно))
но за сравнительный анализ - спасибо!:)

dimarik 18.08.2011 21:39

Цитата:

Сообщение от toFL (Сообщение 1022975)
Результаты актуальны и для loaderInfo.parameters

Результаты актуальны скорее для этих способов доступа, чем для типа объекта. Исключение, предположу, составляют наследники Proxy.


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

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