Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Общие вопросы о Flash (не затрагивающие ActionScript) (http://www.flasher.ru/forum/forumdisplay.php?f=60)
-   -   Проблемы с параметрами swfObject 2.2. (http://www.flasher.ru/forum/showthread.php?t=181498)

dkart01 25.06.2012 14:47

Проблемы с параметрами swfObject 2.2.
 
Вложений: 1
День добрый.

Не получается задать следующие параметры в swfObject:
1) Ссылку, которая активизируется при клике на мувиклип
2) задать bgcolor

Исходники приложены к письму. При создании следовал инструкции http://designformasters.info/posts/f...h-swfobject-2/

3) Прошу совета. Корректен ли способ вставки при помощи swfObject2.2, чем вы сам пользуетесь и рекомендуете?

Помогите, пожалуйста.

dkart01 25.06.2012 14:49

4) может линк у мувиклипа лучше передавать не через getUrl, а ExternalInterface.call

mooncar 25.06.2012 14:54

Вы создали нужные объекты flashvars и params, но почему-то не поставили их аргументами в метод embedSWF:

Код:

<script type="text/javascript">
var flashvars = {
        link1: "http://www.flasher.ru/?from=flasher",
        name2: "world",
        name3: "foobar"
};
var params = {
bgcolor: "#ff33ff"
};

swfobject.embedSWF("test.swf", "myContent", "550", "400", "9.0.0", "expressInstall.swf", flashvars, params, false);
</script>

Последнее false - это для объекта атрибутов. Потом может понадобится - например, задать id для управления объектом (сразу задать нельзя - сотрется при формировании флеш-объекта), или задать стили CSS.

Все верно, ничего не нужно изобретать. SWFObject - самое качественное решение для публикации флешки, в том числе и для передачи различных переменных с помощью flashvars.
А вопрос (4) у вас некорректен. С помощью getUrl и ExternalInterface.call решаются другие различные задачи - переход по ссылке и вызов JS-функции соответственно.
Сама ссылка как раз передается с помощью flashvars, а уж как поступить с этой переменной, дело внутреннего механизма флешки - например сделать переход с помощью getURL.

dkart01 25.06.2012 15:08

Точно!

В конце не поставил "flashvars, params, false". Читая документацию, думал, что их не нужно указывать, если сверху задаю "var flashvars = {" а не указываю их одной строкой в скобках. Как в примере ниже..
Сказалось не знание основ чтения программерской литературы. Мне иногда сложно понять как использовать на практике, когда пишут функцию и потом всякие скобки (...,param, [param] {param}) и т.п.

Код AS1/AS2:

<div id="myContent">
  <p>Alternative content</p>
</div>
 
<script type="text/javascript">
swfobject.embedSWF("myContent.swf", "myContent", "300", "120",
                  "9.0.0", "expressInstall.swf",
                  {name1:"hello",name2:"world",name3:"foobar"},
                  {menu:"false"},
                  {id:"myDynamicContent",name:"myDynamicContent"});
</script>


mooncar 25.06.2012 15:14

{...} - это объекты JavaScript. Они передаются методу embedSWF.
В их составе находятся пары - название переменной : значение переменной. Пары разделены запятыми.
Можно вписывать все в строку метода, но удобнее вынести эти объекты в отдельные переменные.
Последнего объекта (для атрибутов) нет, поэтому пишем false. Как уже сказал, потом может возникнуть необходимость и в атрибутах.

dkart01 25.06.2012 15:19

Спасибо!

Добавлено через 16 минут
Правильно ли будет вставить 3 флешки, путём трёх строчек с различными именами аргументов, таким образом:

Код AS1/AS2:

/// код выше с параметрами
swfobject.embedSWF("test.swf", "myContent", "550", "400", "9.0.0", "expressInstall.swf", flashvars, params, false);
swfobject.embedSWF("test2.swf", "myContent2", "550", "400", "9.0.0", "expressInstall.swf", flashvars2, params2, false);
swfobject.embedSWF("test3.swf", "myContent3", "550", "400", "9.0.0", "expressInstall.swf", flashvars3, params3, false);


Hauts 25.06.2012 15:49

dkart01 да, для этого SWFObject и создан. Если у вас flashVars`ы совпадают, можете один и тот же объект передавать в эти строки.


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

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