flash与js通讯方法

  今天主要学习一下js与flash是如何通讯滴。

  1、先学习一下

  getURL(url, window, variables)

  使用 getURL 语句,可以让指定的浏览器窗口,转向显示指定的URL地址。参数(url)指定要显示WEB页面文档的 URL 地址。参数(window)指定要要显示WEB页面文档的浏览器窗口,它可以是指定为自定义的窗口名称,也可以

  如果想让它执行调用js函数执行,那么可以这样

  on (release) {

  getURL(\"JavaScript:alert('hello,world')\");

  }

  如果调用自定义的函数

  on (release) {

  getURL(\"JavaScript:aiqi('test')\");

  }

  那么html页面里要定义这个函数,比如

  function aiqi(s){

  alert(s);

  }

  这样就可以实现简单的flash与js通讯

  那么如何让js来控制flash呢。

  SetVariable()函数

  document.getElemenyById(\"js\").SetVariable(\"myvar\", \"asdfasdfasdf\");

  js为html中swf文件的id

  如何用javascript来调用flash中函数叱。

  直接的方法应该是米有。

  可以模拟一下。在flash中设一个变量,javascript控制改变这个变量的值,flash一检测到此变

  量值改变,变执行函数;

  flash

  --------------

  var   stat=0;

  setInterval(test,300){

  if   (stat==1)   doFlash();

  }

  function   doFlash(){

  }

  javascript

  --------------------

  tt.SetVariable(\"stat\",1);

  这个例子,我想已经实现了js与flash的交互了。

  讲解一下。其实很简单。

  首先在html文件里定义一个函数

  function aiqi(s){

  //给flash赋值

  js.SetVariable("stat",s);

  }

  注js为swf文件的id

  SWF文件里有两按纽它们的AS分别为

  on (release) {

  getURL("javascript:aiqi(1)");

  }

  on (release) {

  getURL("javascript:aiqi(0)");

  }

  通过这两个按纽,传递参数给js的aiqi()函数,

  aiqi()函数动态改变flash中stat中值。

  swf中AS为

  var stat=0;

  var c=0;

  setInterval(function(){

  if   (stat==1)

  doFlash();

  },1000)

  function   doFlash(){

  var1=c++;

  }

  当flash检测到stat值变化时调用doFlash().

  // [Action in Frame 1]

  function doFlash()

  {

  var1 = c++;

  } // End of the function

  var stat = 0;

  var c = 0;

  setInterval(function ()

  {

  if (stat == 1)

  {

  doFlash();

  } // end if

  }, 1000);

  on (release)

  {

  getURL("javascript:aiqi(1)");

  }

  on (release)

  {

  getURL("javascript:aiqi(0)");

  }