Просмотр полной версии : передача параметров во flash
понимаю, что тема обсуждалась много раз и всем надоела, но полного ответа я не нашел
проблема следующего плана: нужно передавать данные во флеш (именно передовать, а не считывать флешем)
даже вот ссылка с примером есть http://www.macromedia.com/cfusion/knowledgebase/index.cfm?id=tn_15683, но как я понял там используется старая версия плеера и это сейчас не работает.
...очень нужна помощь...
KidsKilla
10.02.2006, 15:55
document.getElementById("flash_id").SetVariable("var", "value");
может тогда укажите на ошибку? я такой вариант пробовал - не помогает
flash.zip (http://www.darwin.museum.ru/new_variant/flash.zip)
Сталкивался с такой же проблемой, если запускать на сервере, то работает, а на локальном компьютере, действительно не всегда
Попробуй: в папке windows/system32/ есть утлита regsvr32.exe.
Далее находишь компонент flash.ocx и регишь его при помощи этой утилиты
Если надо передать во флеш что нибудь небольшое и очень текстовое или "переменное", т.е. не базу данных интерпола, то есть хороший способ. Нет не хороший, а афигительный:
<object classid="clsid:..." width="420" height="250">
<param name="movie" value="img/fla/fishka.swf" />
<param name="wmode" value="transparent" />
<param name="quality" value="high" />
<param name="menu" value="false" />
<param name="flashvars" value="randMessage=<?=$xuli;?>">
<embed src="img/fla/popup.swf" flashvars="randMessage=<?=$xuli;?>">
</embed>
</object>
Т.е. используя flashvars и PHP переменную $xuli передаем из браузера, то что надо. Так я передавал язык и даже небольшие сообщения.
to kerf и остальным.
Большое спасибо, вижу такая проблема не у меня одного.
Вариант с сервером действительно работает, но на сколько надежно (наблюдения, мнения, тесты), будет ли это работать у всех?
flash.ocx не нашел - может напишите поподробнее?
Вариант с flashvars не проверял, но поскольку задача передовать данные динамически (не только в момент загрузки, но по определееному действию), то думаю разумнее всего связать именно с javaScript (конечно можно на скрипте вызывать PHP, но может есть варианты напрямую?)
Проблем с работой flash и передачи параметров на сервере еще ни разу не встречал.
По поводу flash.ocx , это компонент при помощи которого браузер отображает flash. Он автоматически скачивается, если браузер пытается отобразить флеш, а компонента нет в системе.
В коде страницы указывается ссылка:
codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0"
У меня есть два файла на компе: flash8.ocx и flash.осх, это оба 8ой флеш. Если я при помощи выше названной утилиты регистрирую файл flash.ocx, переменные передаются во флеш локально на компе. Если беру flash8.ocx и регистрирую, все перестает работать и работает только с сервера. В чем проблема не знаю..
Смотри хелп к 8 флешу, по-моему там сечас появился другой механизм передачи параметров.
Если у тебя 8 флеш, то там есть пример по адресу:
C:\Program Files\Macromedia\Flash 8\Samples and Tutorials\Samples\ActionScript\ExternalAPI\simple example\ExtInt.html
Правда ни фига не работает :))
У меня есть два файла на компе: flash8.ocx и flash.осх, это оба 8ой флеш. Если я при помощи выше названной утилиты регистрирую файл flash.ocx, переменные передаются во флеш локально на компе. Если беру flash8.ocx и регистрирую, все перестает работать и работает только с сервера. В чем проблема не знаюPublish Settings > Local playback security:
>Access local files only
>Access network files only
FlashParams хорошо но без сервер скрипта не поменяеш...
вот пример, работает нормально и локально и удаленно, дружит с броузерами <BODY bgcolor="#FFFFFF">
<SCRIPT LANGUAGE=JavaScript1.1>
<!--
var appURL = String(document.location);
if (appURL.indexOf("?") != -1) {
var appParams = appURL.substr(appURL.indexOf("?"));
} else {
var appParams = "";
}
document.write('<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"');
document.write(' codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" ');
document.write(' ID="default" WIDTH="100%" HEIGHT="100%" ALIGN="">');
document.write(' <PARAM NAME=movie VALUE="my.swf' + appParams + '"> ');
document.write(' <PARAM NAME=quality VALUE=high> <PARAM NAME=bgcolor VALUE=#FFFFFF> ');
document.write(' <EMBED src="my.swf' + appParams + '" quality=high bgcolor=#FFFFFF ');
document.write(' swLiveConnect=FALSE WIDTH="100%" HEIGHT="100%" NAME="default" ALIGN=""');
document.write(' TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer">');
document.write(' </EMBED>');
document.write(' </OBJECT>');
//-->
</SCRIPT><NOSCRIPT>Эта страница использует Javascript</NOSCRIPT>
</BODY>
а передаются параметры так:
my.htm?myparam=q1&newparam=hello&itd=0&itp=1
принимаются :
_root.myparam _root.newparam и т.д. и т.п.
!и еще чуть не забыл! если у вас или у клиента XP SP2
добавьте после <head>
вот эту строчку <!-- saved from url=(0014)about:internet --> - убирает запрет на всплывающие окна...
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.