分享
 
 
 

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

王朝other·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

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;

varwasSuccessful:Boolean=ExternalInterface.addCallback(methodName,instance,method);

vartxtField:TextField=this.createTextField("txtField",this.getNextHighestDepth(),0,0,200,50);

txtField.border=true;

txtField.text=wasSuccessful.toString();

functiongoToMacromedia():Boolean{

txtField.text="http://www.macromedia.com";

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

returntrue;

}

IE中的代码:

functioncallExternalInterface(){

b=thisMovie("test").goHome();

if(b){

alert("Theboxischecked.");

}

}

functionthisMovie(movieName){

if(navigator.appName.indexOf("Microsoft")!=-1){

returnwindow[movieName];

}

else{

returndocument[movieName];

}

}

嵌入Flash对象

<objectclassid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0"width="550"height="400"id="test"align="middle">

<paramname="allowScriptAccess"value="sameDomain"/>

<paramname="movie"value="test.swf"/>

<paramname="quality"value="high"/>

<paramname="bgcolor"value="#ffffff"/>

<paramname="swLiveConnect"value="true"/>

<embedsrc="test.swf"quality="high"bgcolor="#ffff00"width="550"height="400"name="test"swLiveConnect="true"align="middle"allowScriptAccess="sameDomain"type="application/x-shockwave-flash"pluginspage="http://www.macromedia.com/go/getflashplayer"/>

</object>

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有