flash与 javascript通讯

1 篇文章 0 订阅

flash javascript通讯

Ajs获取flash传过来的值

flash代码:

On(Release)
           FSCommand("alert","Hello,This is FS Command speaking")
          End On

 

js:

<head>里加入以下代码

<script language=javascript>
          function button_DoFSCommand(command,args)
          {if(command == "alert"){            --
这里的判断对应的是 FSCommand("alert","")前面的这个alert,这样一来我们想写什么参做什么样的判断就好.
          alert("Now look at this:"+args);}
          }
          </script>
          <SCRIPT LANGUAGE=VBScript>            //
注意这里比较关键,是与flash相关联的.button_FSCommand下划线前的button就是falsh对象的id
          Sub button_FSCommand(ByVal command, ByVal args)
          call button_DoFSCommand(command, args)
          end sub
          </SCRIPT>

 

Bflashjs

 

function sendData(args){

   var someValue = args.value;

   window.document.myFlash.SetVariable("myText", someValue);        --myflash flash对象,myTextflash里的变量的值,如下图

 

}

 

 

Cflash担交表单

 

flash代码:

参考一下,flash部分的提交按钮动作为:  
  on(release){  
  loadVariables("http://***.**.***.***/guest.asp?userid="   add   eval(_root.username)   add   "&pwd="   add   eval(_root.password),this,"GET");  
  now   =   new   Date();  
  begintime   =   now.getSeconds();  
  while(true){  
  endt=new   Date();  
  endtime=endt.getSeconds();  
  if(endt-now>2)  
  {  
  _root.gotoAndPlay(eval(login));  
  }  
  }  
  }   

 

  on(press){  
        var   lv=new   LoadVars();  
        lv.username="...";  
        lv.password="...";  
        lv.send("bbs/index.asp","_self","post");  
  }   

  --
我实现的例子

on(release)

{

var vl=new LoadVars();

vl.name=this.yname.text;

vl.email=this.email.text;

vl.remark=this.remark.text;

vl.send("show.aspx","_self","post");

}

 

LoadVars对象就好像是一个form或者说是一个面板,用来放一些控件的。

而这个控件可以通过一些手段实现和其它网页的通讯。

 

 

 

这里假如要调用外部的exe,需要把exe的文件放入fscommand文件夹中,调用的flash必需导成exe格式的才行,并且和fscommand文件夹在同目录,这样就形成了flash导成的exe才能调用应用程序exe.
fscommand("exec","xxx.exe")
例子:
  以上是第一个方法。
  假如放在同个目录中,就需要用到getURL
getURL("xxx.exe") //
这里exe放在和flash同目录中。。
  调用硬盘中某位置的exe文件: 例子:
  假如把exe放文件夹中,文件夹要和flash放同目录中,getURL("文件夹/xxx.exe") 假如访问硬盘中的:
getURL(file:///盘符:/xxx.exe)  

 

 

Flash 中与 JS 的通信可以用传统的 getURLFlash8 以后,可以用 ExternalInterface ExternalInterface 在功能上与 fscommand()CallFrame() CallLabel() 方法相似,但它更灵活、更通用。推荐对 JavaScript ActionScript 之间的通讯使用 ExternalInterface

getURL
调用JS
getURL("javascript:GetSwfUrl()");

ExternalInterface
调用JS
import flash.external.ExternalInterface;//
导入 ExternalInterface
ExternalInterface.call("GetSwfUrl()");

注意:如果要使用 ExternalInterface,当前帧必需要有 import flash.external.ExternalInterface; 或者 import flash.external.*;

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值