JS与AS3.0的交互
来源:互联网 发布:淘宝标题优化技巧软件 编辑:程序博客网 时间:2024/06/05 09:01
首先,写这么一篇博文,是因为发现关于AS3.0与网页交互的文章实在太少了。所以,经过自己实践和研究,就整理了一份出来,希望大家可以相互学习相互补充,共同进步。
(注意:一切案例必须在Apache里运行。不经过服务器直接读网页无法实现效果!!!)
1、首先,在网页中添加FLASH的方法有很多种。可是往往通过设计常用软件DW直接添加的<object>标签里会带有很多乱七八糟的代码,以及几个非常长的JS。其实这些都是不必要的。于是我们来记一个最简单的添加FLASH的代码(比如我们要加的FLASH是名字是bigface.swf):
<objectclassid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0"id="myFlash" width="400" height="180" align="middle">
<paramname="allowScriptAccess" value="sameDomain" />
<param name="movie"value="bigface.swf)" />
<param name="quality"value="high" />
<embed
src="bigface.swf)"
width="400"
height="180"
quality="high"
swLiveConnect=true
name="myFlash"
align="middle"
allowScriptAccess="sameDomain"
type="application/x-shockwave-flash"
pluginspage="http://www.macromedia.com/go/getflashplayer"/>
</object>
在这些标签中,红色标注的标签是为我们做交互必须写入的标签。
2.AS调用JS方法
AS调用JS的方法是很简单的。首先我们在插入FLASH之后,写下我们想要让AS调用的JS方法。
比如我们想做一个案例(案例1),是一个希望在FLASH输入什么,只要一点击,就让网页里alert()出来什么。
首先,我得在网页中插入bigface.swf(按照第一步讲的)。
然后我们在JS里写下如下代码:
<scripttype="text/javascript">
functiontell(text){
alert(text);
}
</script>
这是个很简单的弹出框语句。如果能让FLASH调用到这个语句,并且把要传递的数值传出来就成功了。
接着,我们在FLASH里做下面事情:
建立一个输入框,取名mytext;
建立一个按钮,取名btn;
然后写下下面的AS:
btn.addEventListener(MouseEvent.CLICK,sendout);
function sendout(event:MouseEvent):void{
ExternalInterface.call("tell",mytext.text)
}
这里具体讲解一下
我们给按钮btn添加了一个鼠标监听事件,事件类型是鼠标点击,触发后执行sendout这个函数。这个函数里的命令就是ExternalInterface.call("tell",mytext.text),调用外部(也就是JS里的)tell这个函数,赋予的参数就是我们输入框里的文字mytext.text。
然后重新输出一遍FLASH,我们的案例就完成了。
2、JS调用AS
我们同样首先载入一个叫bigface.swf的FLASH
我们在FLASH里只加一个叫mytext的文本框。
然后我们在网页中写下一下网页标签:
</br>
</br>
<input type="text"id="shuru" />
<button type="button"id="enter">点击</button>
之后我们先到AS里写下:
function putin(thetext:String):void{
mytext.text =thetext;
}
ExternalInterface.addCallback("sendtxt",putin)
写完后,网页中修改并加入JS如下:
<input type="text" id="shuru"/>
<button type="button" id="enter"onclick="sendin()">点击</button>
<script type="text/javascript">
functionsendin(){
var t = document.getElementById("shuru").value;
window.document.myFlash.sendtxt(t);
}
</script>
这样我们就实现了JS调用AS的函数并达到了传值。
(最后,看不明白的童鞋,我发一个做好的案例打包。一定要放到服务器中查看,本地的Apache就可以哦。)
- JS与AS3.0的交互
- js与as3的交互
- AS3与JS交互
- 自己总结AS3.0与JS(HTML页面)的数据传送交互
- AS3 与 JavaScript 的交互
- AS3与PHP的交互
- AS3与JS进行交互(一)
- AS3与C/C++的交互
- AS3与C/C++的交互
- [原]as3 flash web 应用 (5)js与flash的交互
- AS3与后台交互
- as3与c++交互
- as3与node.js的socket通信
- as3与node.js的socket通信
- AS3与JS通信
- js与Fckeditor的交互
- SVG与JS的交互
- js与as的交互
- javascript中的onkeyup、onkeydown、onkeypress事件
- sqlmap gui
- 线程同步的方法
- The virtual functions table
- h1 h2使用方法
- JS与AS3.0的交互
- HTML5 Top 10 Threats Stealth Attacks and Silent Exploits
- BBC遭受来自伊朗的攻击
- ERP的安全设计:Oracle Fusion Applications的安全架构
- WinXp Apache虚拟主机开启Mod_rewrite
- Android开发中,使用线程应该注意的问题!
- delphi常用函数五
- expect_out
- cassandra的replication_factor