Просмотр полной версии : Передача переменных в флеш из адресной строки
coherent
07.07.2007, 13:41
Привет всем.
Можно передать переменные в swf из адресной строки броузера, в котором встроен этот swf? Например: http://localhost/test.html?var=Hello. В этом же test.swf должно отобразиться слово Hello. Какие есть идеи?
ZOOM:
http://etcs.ru/files/zoom.png
SWFObject.
coherent
07.07.2007, 15:28
В классе LoadVars нужно указать файл, из которого будут загружаться переменные. И в таком случае какой файл мне указывать? Самого себя чтоли?
тебе ж сказали: Swfobject
вот тут тутор:
http://www.yarovoy.com/gc/downloads/#swfobject
<object width="778" height="59" type="application/x-shockwave-flash" data="menu.swf?nav1=company&nav2=com_ourfriends"><param name="movie" value="menu.swf?nav1=company&nav2=com_ourfriends" />
</object>
во флэшке обращаешься к переменным nav1 и nav2
2 flskif: Описние тутора: — Это статья Майкла Клишина об использовании специального JavaScript файла для внедрения SWF ролика в HTML страницу.
Категорически не советую использовать любые javaScript для внедрения флэшки... у части юзеров он просто отключен... так что статья - хлам..
Категорически не советую использовать любые javaScript для внедрения флэшки... у части юзеров он просто отключен... так что статья - хлам..
У кого отключен javascript, к тех и activex отключен скорее всего, то есть флеша они не увидят. Кстати, для них в SWFObject предусмотрено альтернативное содержание, которое просто не будет переписано.
И еще есть такие теги <noscript>...</noscript>
И еще насчет внедрения флеша без javascript.. Вы видели когда-нибудь в iE страницы, на которых десяток флешек с рамками активации? Это реально жесть.
И уж если обходится без скрипта, то лучше передавать переменные через flashvars:
<object .....>
<param name="flashvars" value="nav1=company&nav2=com_ourfriends" />
<embed flashvars="nav1=company&nav2=com_ourfriends" .... />
</object>
Потому что в таком случае переменные во флеше окажутся сразу, а передача через адресную строку занимает некоторое время. Переменные будут в руте.
Категорически не советую использовать любые javaScript для внедрения флэшки... у части юзеров он просто отключен... так что статья - хлам..
Очень мудрый совет, да. У вас есть статистика отключенного JS? Просто так, взять и заявить, что скрипт, ставший стандартом — хлам, это очень мощно, да. Только если у юзера отключен JS, то с 99% вероятностью флеш также отключен. Кроме того, обладатели IE будут вынудждены по сто раз кликать по флешу для активации. Замечательный совет, очень.
согласен... через Flashvars гораздо удобнее... и флэшка может себя не рефрешить...
а насчет процента отключения JS - можете посмотреть в гугле... минимум 10 %
а насчет процента отключения JS - можете посмотреть в гугле... минимум 10 %
Туда же попадают 10% без флеш-плеера. Больше не надо давать дурацких советов.
2 _etc: В данном случае я выразил мнение не флэшеров, а программистов и верстальщиков, с которыми работаю... Сомнений в их компетентоности у меня не возникает.... так же как и вашей...
Насчет "хлама", видимо, погорячился...
PS: Кстати, вопрос по теме: если мы флэш вставляем при помощи JS как тогда использовать flashvars ?
А какой скрипт используется?
http://www.flasher.ru/forum/showthread.php?t=98113
coherent
10.07.2007, 15:34
Спасибо, Ведьмак, метод работает.
А если публиковать в виде *.exe файла, можно при его вызове передать параметры?
вот это пробовать надо... обычно с url работаю...
кста, откуда в exe будут передаваться параметры?
XML в помощь. Либо LoadVars.
coherent
11.07.2007, 20:56
__etc, я бы воспользовался XML или LoadVars, но это невозможно из-за того, что swf запускается локально и работает с сервером. С другой стороны swf-ка вызывается программой, которая должна передать параметры во флешку и послать их серверу.
Решение на данный момент - прописать параметры в html файле, который содержит swf-ку, как подсказал Ведьмак. Но как передавать параметры динамически?
И что, что запускается локально? Это как-то мешает использованию локальных же файлов?
coherent
12.07.2007, 13:14
Политика безопасности adobe позволяет работать swf либо в режиме сети, либо в режиме работы с локальными данными, если swf запускается локально, а не на сервере. См. Publish settings->Local playback security->(Access local files only/Access network only)
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.