和浏览器脚本的交互的方法

2008-04-02 10:52:08来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折


  1.getURL向浏览器发送信息

  格式:getURL(“地址”,“接收窗口”,“方式”)

  例子:

  建一个test.fla文档,第一帧

  建三个button(btu1,btu2,btu3)

  建一个Textinput(input1)

  AS脚本:

  
functionopensite(){

  this.getURL("http://www.macromedia.com","_self");

  }

  varstr:String;

  functionpassva(){

  str=this.input1.text;

  this.getURL("http://localhost/test.asp","_blank","GET");

  }

  functionincrease(){

  this.getURL("javascript:alert(’SayHello!’)");

  }

  btu1.addEventListener("click",mx.utils.Delegate.create(this,opensite));

  btu2.addEventListener("click",mx.utils.Delegate.create(this,passva));

  btu3.addEventListener("click",mx.utils.Delegate.create(this,increase));


  在IIS WEB SERVER上建文档test.asp,加入如下语句:

  
<formname="form1"method="post"action="">

  <inputtype="text"name="textfield"value=<%=Request.QueryString("str")%>>

  </form>


  1. loadVariables类

  getURL只能向脚本发送数据,不能够接收从脚本回传,而loadVariables就能够实现。

  
例子

  ASP脚本, CODEPAGE="65001"是使脚本支持Unicode,文档放于IIS WEB SERVER根目录下:

  


  
<%@LANGUAGE="JAVASCRIPT"CODEPAGE="65001"%>

  <%

  restr="Hi," Request.Form("str")

  Response.Write("rebackdata=" restr)

  %>


  


  


  
<%@LANGUAGE="JAVASCRIPT"CODEPAGE="65001"%>

  <%

  restr="Hi," Request.Form("str")

  Response.Write("rebackdata=" restr)

  %>


  


  
Flash影片,在场景建立一个MC(mc1_int),内有一个组件Button(btu1)和一个Label(label1).

  场景第一帧的AS

  


  


  
functionrecievedara(){

  this.loadVariables("http://localhost/pass.asp","POST");

  }

  _root.mc1_int.btu1.addEventListener("click",mx.utils.Delegate.create(_root.mc1_int,recievedara));


  
实例mc1_int的AS:

  
onClipEvent(data){

  _root.mc1_int.label1.text=rebackdata.toString();

  }


  
实例mc1_int元件的AS,变量str是存储要发送给ASP脚本的的内容

  
varstr=this.label1.text;


  


  
3

  LoadVars

  使用LoadVars能够更好地控制数据的传递和接收.

  例子:

  场景上有一个组件Textarea(textarea1)和三个组件Button(btu1,btu2,btu3)

  Flash的AS

  

varlv=newLoadVars();

  varll=newLoadVars();

  lv.str="FlashtoIIS";

  functionhandle_btu1(){

  lv.id=this.label;

  lv.send("http://localhost/fmx/pass2.asp","_blank","POST");

  //无论是“POST”,还是“GET”方式,FLASH都是以“GET”方式发送。

  }

  functionhandle_btu2(){

  lv.id=this.label;

  lv.load("http://localhost/fmx/pass2.asp");

  }

  functionhandle_btu3(){

  lv.id=this.label;

  lv.sendAndLoad("http://localhost/fmx/pass2.asp",ll,"POST");

  }

  this.btu1.addEventListener("click",mx.utils.Delegate.create(this.btu1,handle_btu1));

  this.btu2.addEventListener("click",mx.utils.Delegate.create(this.btu2,handle_btu2));

  this.btu3.addEventListener("click",mx.utils.Delegate.create(this.btu3,handle_btu3));

  lv.onLoad=function(success){

  _root.textarea1.text=this.rebackdata;

  };

  ll.onLoad=function(success){

  _root.textarea1.text=_root.textarea1.text "\n" this.rebackdata;

  };

  服务器脚本存放于WEB

  SERVER根目录下

  

<%@LANGUAGE="JAVASCRIPT"CODEPAGE="65001"%>

  <%

  restr=Request("str")

  reid=Request("id")

  Response.Write("rebackdata=Sayhellofrom" reid ":" restr)

  %>

  4 ExternalInterface

  Flash发展到8时,又加入了一个类flash.external.ExternalInterface,他能够在影片中调用容器定义的函数,容器也能够调用影片定义的函数。

  例子:

  在场景中建一个label,命名为label1,文档保存为test.fla

  第一帧代码:

  

importflash.external.*;

  varmethodName:String="goHome";

  varinstance:Object=this;

  varmethod:Function=goToMacromedia;

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇: FLASHActionScript学习:判断奇偶数的方法

下一篇: 完美的loading—完美到底