Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   HTML/DHTML/CSS/JS/VB (http://www.flasher.ru/forum/forumdisplay.php?f=66)
-   -   передача параметров во flash (http://www.flasher.ru/forum/showthread.php?t=75348)

AlexSol 10.02.2006 12:35

передача параметров во flash
 
понимаю, что тема обсуждалась много раз и всем надоела, но полного ответа я не нашел

проблема следующего плана: нужно передавать данные во флеш (именно передовать, а не считывать флешем)

даже вот ссылка с примером есть http://www.macromedia.com/cfusion/kn...fm?id=tn_15683, но как я понял там используется старая версия плеера и это сейчас не работает.

...очень нужна помощь...

KidsKilla 10.02.2006 15:55

document.getElementById("flash_id").SetVariable("var", "value");

AlexSol 10.02.2006 16:49

может тогда укажите на ошибку? я такой вариант пробовал - не помогает

flash.zip

kerf 10.02.2006 19:19

Сталкивался с такой же проблемой, если запускать на сервере, то работает, а на локальном компьютере, действительно не всегда

kerf 10.02.2006 19:28

Попробуй: в папке windows/system32/ есть утлита regsvr32.exe.
Далее находишь компонент flash.ocx и регишь его при помощи этой утилиты

Coffee 10.02.2006 22:41

Если надо передать во флеш что нибудь небольшое и очень текстовое или "переменное", т.е. не базу данных интерпола, то есть хороший способ. Нет не хороший, а афигительный:
Код:

<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 передаем из браузера, то что надо. Так я передавал язык и даже небольшие сообщения.

AlexSol 13.02.2006 11:40

to kerf и остальным.
Большое спасибо, вижу такая проблема не у меня одного.
Вариант с сервером действительно работает, но на сколько надежно (наблюдения, мнения, тесты), будет ли это работать у всех?

flash.ocx не нашел - может напишите поподробнее?

Вариант с flashvars не проверял, но поскольку задача передовать данные динамически (не только в момент загрузки, но по определееному действию), то думаю разумнее всего связать именно с javaScript (конечно можно на скрипте вызывать PHP, но может есть варианты напрямую?)

kerf 13.02.2006 21:58

Проблем с работой 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

Правда ни фига не работает :))

Madasan 18.02.2006 07:57

Цитата:

У меня есть два файла на компе: flash8.ocx и flash.осх, это оба 8ой флеш. Если я при помощи выше названной утилиты регистрирую файл flash.ocx, переменные передаются во флеш локально на компе. Если беру flash8.ocx и регистрирую, все перестает работать и работает только с сервера. В чем проблема не знаю
Publish Settings > Local playback security:
>Access local files only
>Access network files only

ravenco 18.02.2006 14:58

можно я тоже засорю...
 
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 -->
- убирает запрет на всплывающие окна...


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

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