flash与js通讯方法
            网络编程 发布日期:2025/11/1 浏览次数:1
         
        
            正在浏览: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)"); 
}