Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Передача данных флэшу (http://www.flasher.ru/forum/showthread.php?t=105243)

Denisator 11.12.2007 12:59

Передача данных флэшу
 
У меня есть ролик который берёт данные из хтмл с помощью такой конструкции:

Код:

<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" width="008" height="550" id="map" align="middle">
<param name="allowScriptAccess" value="sameDomain" />
<param name="movie" value="map2.swf" />
<param name="quality" value="high" />
<param name="bgcolor" value="#ffffff" />
<param name=flashvars value="tip1=квартал&kvar1=квартал№1&tip2=квартал&kvar2=квартал№2&tip3=квартал&kvar3=квартал№3&tip4=квартал&kvar4=квартал№4&tip5=квартал&kvar5=квартал№5&tip6">

<embed src="map2.swf"
flashvars="tip1=квартал&kvar1=квартал№1&tip2=квартал&kvar2=квартал№2&tip3=квартал&kvar3=квартал№3&tip4=квартал&kvar4=квартал№4&tip5=квартал&kvar5=квартал№5&tip6"
quality="high" bgcolor="#ffffff" width="800" height="550" name="map" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
</object>

На сколько корректен этот способ при передачи большого количества данных порядка 15000 переменных, составляющих около 500кб? Может быть есть такой-же простой, но более подходящий способ?

Fernando Costa 11.12.2007 13:26

грузи переменные из ХМЛ-файла

Denisator 11.12.2007 13:32

Fernando Costa Я пробовал, но это оказался "сложный" для меня способ :-)) Я так и не смог отпарсить ХМЛ и вытащить оттуда данные :-(

Chas 11.12.2007 13:39

а ничего проще нет.
можно еще передавать текст из javascript, пользуясь ExternalInterface, но это не намного проще.
c LoadVars большие тексты не передашь.

CrazyFlasher 11.12.2007 13:55

Цитата:

c LoadVars большие тексты не передашь.
а сам-то пробовал коль утверждаешь? всё передаётся

Fernando Costa 11.12.2007 14:41

нет ничего проще распарсить такой ХМЛ-файл

Код:

<root>
    <node attr = "первое значение" />
    <node attr = "второе значение" />
    ...........................
</root>

или даже невалидный ХМЛ еще проще


Код:

    <node attr = "первое значение" />
    <node attr = "второе значение" />
    ...........................

В хелпе есть примеры :victory:

Denisator 11.12.2007 14:59

Fernando Costa Как работает ХМЛ вроде понятно, но вот с примерами возился (видать мало возился) и так и не допёр как его распарсить, все эти ноды и чайлды... Вообщем проще показалось делать с помощью flashvars, но когда понял сколько у меня данных - засомневался.

Fernando Costa 11.12.2007 15:20

наслаждайтесь
file.xml:

Код:

<root>
    <node attr = "первое значение" />
    <node attr = "второе значение" />
    <node attr = "третье значение" />
    <node attr = "четвертое значение" />
</root>

script:

Код:

var flooring:XML = new XML();
flooring.ignoreWhite = true;

flooring.onLoad = function(success) {
        var str = flooring.firstChild.childNodes
        for(var i=0;i<str.length;i++){

    trace(str[i].attributes.attr);
        }
};
flooring.load("file.xml");


Дружище 11.12.2007 16:47

Цитата:

Сообщение от CrazyFlasher
а сам-то пробовал коль утверждаешь? всё передаётся

GET имеет ограничение 255 символов, POST тоже имеет ограничение,но объёма которого он позволяет передать вполне достаточно для текста, переменнтых и т.д. для этого случая имеет смысл воспользоваься LoadVars :)

Chas 11.12.2007 17:05

2CraztFlasher:
Цитата:

NOTE: All browsers will support string sizes as large as 64K (65,535 bytes) in length.
к тому же еще заниматься сексом с исключением спецсимволов. XML намного лучше, один раз научиться!


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

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