欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

flash与js通讯方法

程序员文章站 2023-11-13 15:28:16
今天主要学习一下js与flash是如何通讯滴。 1、先学习一下 geturl(url, window, variables) 使用 getur...
今天主要学习一下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)");
}