terça-feira, 19 de junho de 2007

OpenLaszlo: integrando com a página HTML

bom agora uma outra forma de integração com a página atual onde se encontra a sua
aplicação OpenLaszlo...

digamos o caso que você tem lá a tua aplicação OpenLaszlo, mas quer acessar algum javascript na página atual e por um acaso abrir um layer ( div ) sobre a sua aplicação e injetar algum conteúdo...

bom essa parte é puramente javascript, mas como chamar do OpenLaszlo esse javascript, para executar isso?

bom tem um exemplo na comunidade do Japão do OpenLaszlo de como pode ser feito isso...

para isso será necessário utilizar o seguinte javascript: flashobject.js

na página foi definido da seguinte forma para poder realizar essa comunicação:

<script type="text/javascript">
// <![CDATA[
   fo = new FlashObject("a.lzx?lzt=swf", "lzapp",    "500", "350", "6", "#FF6600");
   fo.addParam("swLiveConnect", "true");
   fo.addParam("name", "lzapp");
   fo.addVariable("Text", "(from HTML)");
   fo.write("flashcontent");

   function send_to_flash(val){
      document.getElementById("lzapp").SetVariable("Text", val);
   }
   function changeTxt(val){
      document.getElementById("fromLZX").innerHTML=val;
   }
// ]]>
</script>


* código fonte da aplicação OpenLaszlo [link]

Obs.: note como foi feito na aplicação OpenLaszlo para chamar a function do javascript

   <edittext name="input" width="100%" >
      <method event="onkeyup" reference="LzKeys" args="k">
         var t = this.getText().split("'").join("\\'");
         LzBrowser.loadJS("changeTxt('" + t + "')");
      </method>
   </edittext>