Rich Internet Applications

Rich Internet Applications

Posts 1-3 of 3
  • Manuel Ziegler
    Manuel Ziegler    Premium Member
    The company name is only visible to registered members.
    OpenLaszlo SWF und AJAX
    Hallo RIA-Gemeinde,

    ich arbeite gerade an einem eigenen Web-CMS, das für Entwickler gedacht ist. Dabei habe ich bereits die einfache Integration von AJAX realisiert und möchte nun OpenLaszlo-Objekte als Inhalt in die Webseiten einbinden.

    Ich kompiliere dabei z.B. die OpenLaszlo-Applikation SOLO in SWF8. Nun möchte ich innerhalb der OL-Applikation eine Javascript-Methode aufrufen, die mir die AJAX-Funktionalität durchführt.

    Diese AJAX-Javascript-Funktion wird im <head> meiner Webseite definiert und ist auch über Links in der Webseite ansprechbar und AJAX funktioniert damit.

    Mein Problem ist der Aufruf vom OpenLaszlo-SWF8-Objekt aus. Ich rufe im onclick-Ereignis des Buttons die im HTML-<head> definierte Funktion auf. In diesem Fall passiert allerdings gar nichts. Ich denke, dass dies nicht funktioniert, weil ich SWF8 als Runtime verwende und nicht DHTML, kann das sein? - Würde für mich logisch klingen. (Leider habe ich keine Ahnung, wie OL unter der Haube funktioniert.)

    Welche Möglichkeit habe ich, aus einer SWF8-OL-Runtime heraus eine Javascript-Funktion aufzurufen? Hilft mir die ActionScript-Funktion getURL(...); hier weiter oder geht es direkt über einen Javascript-Aufruf?

    Vielen Dank für eure Hilfe und freundliche Grüße,

    -manuel
  • Mario König
    Mario König    Premium Member
    The company name is only visible to registered members.
    Re: OpenLaszlo SWF und AJAX
    Hallo,

    LzBrowser / lz.Browser (versionsabhaengig) bietet die Loesung.

    LzBrowser.callJS("func", null, a, b, c, ...);
    Ruft die Funktion "func" im Browser auf und uebergibt die Variablen a, b und c (optional auch weitere / keine). Das zweite Argument ist optional eine Callback-Methode.

    LzBrowser.loadJS("alert('test');");
    Fuehrt einen direkten JS Befehl aus. Aber vorsicht - das ist limitiert auf knapp 500 Zeichen. Optional kann man als zweites Argument ein target angeben (Fenster, Frame, ...). Es wird via GET ausgefuehrt.

    Unter http://labs.openlaszlo.org/trunk-nightly/docs/reference/ findet man u.a. noch mehr ueber LzBrowser/lz.Browser.

    Edit:
    Ich habe vergessen zu erwaehnen, dass in der Doku steht, dass die SWF via embed(-compressed).js eingebunden werden muss. Jedoch habe ich mit 4.1.1 die Erfahrung gemacht, dass es auch mit einem normalen Embed-Tag funktionierte. Ich weiss nicht, ob sich das geaendert hat.

    Viele Gruesse,
    Mario
    This post was modified on 04 Feb 2010 at 03:10 pm.
  • Manuel Ziegler
    Manuel Ziegler    Premium Member
    The company name is only visible to registered members.
    Re^2: OpenLaszlo SWF und AJAX
    Herzlichen Dank für die schnelle hilfreiche Antwort!

    Das geht! :-)

    Nach einer langen Programmierpause hatte ich ganz vergessen, wie komfortabel OpenLaszlo zu handhaben ist. Jetzt endlich Endspurt.

    Dankbare Grüße aus der Oberpfalz,

    -manuel