|
今天主要学习一下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)"); } |
|