Daten per Flash an anderen Server übertragen

FunkyMonkey

Mitglied
Hallo

Angeblich soll es möglich sein mit Flash Daten an einen fremden Server zu übertragen, der unter einer anderen Domain läuft. Als ideale Alternative zu Ajax.

Das schöne dabei ist außerdem, das die Daten ganz ohne angezeigte "Netzaktivität" im Browser und ohne lästigen "Bitte Warten"-Cursor übertragen werden.

Das Problem dabei: Ich muss regelmäßig Daten von JavaScript an Flash übergeben - geht sowas? Oder muss man Flash dann jedes mal dynamisch neu einbinden, damit es die Daten aufnehmen kann?

Und: Wie macht man sowas in Flash? Wie sieht sowas in ActionScript Code aus? Vermute das hat hier schon mal jemand gemacht...
 
Hi,

im Prinzip läuft die Übertragung von Daten zum und vom Server mit Flash ähnlich ab wie per AJAX: nämlich asynchron. Wenn Du sowieso mit JS arbeitest, sehe ich daher nicht unbedingt den Vorteil eines Umweges über Flash.

Das schöne dabei ist außerdem, das die Daten ganz ohne angezeigte "Netzaktivität" im Browser und ohne lästigen "Bitte Warten"-Cursor übertragen werden.
Wenn Du mit "Netzaktivität" die Anzeige in der Statusleiste (z.B. "übertrage Daten von xxx.com") meinst, muss ich Dich enttäuschen: Dies kann auch bei Verwendung von Flash der Fall sein.

Generell muss der Zugriff auf externe Ressourcen von Flash aus authorisiert werden - z.B. über Richtliniendateien, die auf dem entfernten Server untergebracht werden. Dies gilt aber nur für die Übertragung vom Server an Flash, senden kannst Du (zumindest per URL-Parameter) in jedem Fall.

Die Übergabe von Daten von JavaScript an Flash kannst Du über die ExternalInterface-Klasse (hier insbesondere die Methode ExternalInterface.addCallback) realisieren.

Gruß
.
 
klingt interessant. Mit Netzaktivität meine ich die grüne Statusbar in der Statusleiste des Browsers, sowie den veränderten Mauszeiger der kurz eine Sanduhr darstellt.

Momentan mache ich es so, das die Daten per JavaScript über ein verstecktes Formular gesendet werden. Das dahinter stehende PHP-Skript sendet einen Status 203 No-Response zurück, was dazu führt das der Browser nicht dem Ziel folgt. Klappt wunderbar - einziger Haken ist die besagte "Netzaktivität". Beim Internet Explorer kommt erschwerend hinzu, das der Browser per Default ein Klickgeräusch erzeugt, wenn ein Formular abgeschickt wird.

Von Flash habe ich leider kar keine Ahnung... welche Grundkenntnisse brauche ich, um so etwas per Flash realisieren zu können? Gibt es irgendwo ein Tutorial wie man so eine Datenübertragung mit ActionScript bewerkstelligt?

besten dank!!
 
Hi,

Mit Netzaktivität meine ich die grüne Statusbar in der Statusleiste des Browsers, sowie den veränderten Mauszeiger der kurz eine Sanduhr darstellt.
Darauf hast Du m.W. mit Flash ebenfalls keinen Einfluss.

Momentan mache ich es so, das die Daten per JavaScript über ein verstecktes Formular gesendet werden. Das dahinter stehende PHP-Skript sendet einen Status 203 No-Response zurück, was dazu führt das der Browser nicht dem Ziel folgt.
Warum so umständlich? Verwende doch AJAX mit einem XMLHTTPRequest.

Mehr dazu findest Du im JS-Forum mit dem Begriff "AJAX".

Gruß
.
 
... und Flash benötigt eine Richtliniendatei (crossdomain.xml, die sich auf dem entfernten Server befinden muss). Hast Du auf dem fremden Server die nötigen Rechte, um eine solche Datei anzulegen?

Gruß
.
 
Zurück