flash与js通讯方法
2018-09-06 11:31
  今天主要学习一下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页面里要定义这个函数,比如 
functionaiqi(s){ 
alert(s); 
} 
这样就可以实现简单的flash与js通讯 
那么如何让js来控制flash呢。 
SetVariable()函数 
document.getElemenyById(\js\).SetVariable(\myvar\,\asdfasdfasdf\); 
js为html中swf文件的id 
如何用javascript来调用flash中函数叱。 
直接的方法应该是米有。 
可以模拟一下。在flash中设一个变量,javascript控制改变这个变量的值,flash一检测到此变 
量值改变,变执行函数; 
flash 
-------------- 
varstat=0; 
setInterval(test,300){ 
if(stat==1)doFlash(); 
} 
functiondoFlash(){ 
} 
javascript 
-------------------- 
tt.SetVariable(\stat\,1);
这个例子,我想已经实现了js与flash的交互了。 
讲解一下。其实很简单。 
首先在html文件里定义一个函数 
functionaiqi(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为 
varstat=0; 
varc=0; 
setInterval(function(){ 
if(stat==1) 
doFlash(); 
},1000) 
functiondoFlash(){ 
var1=c++; 
} 
当flash检测到stat值变化时调用doFlash(). 
//[ActioninFrame1] 
functiondoFlash() 
{ 
var1=c++; 
}//Endofthefunction 
varstat=0; 
varc=0; 
setInterval(function() 
{ 
if(stat==1) 
{ 
doFlash(); 
}//endif 
},1000); 
on(release) 
{ 
getURL(javascript:aiqi(1)); 
}
on(release) 
{ 
getURL(javascript:aiqi(0)); 
}