AS3和JS之间简单的自定义参数的通信
点评:没有AS3和JS之间的互动发展,深入研究,在HTML的SWF的通信。最近,它被迫投资的项目要求,这里是一个总结。AS3和JS互动发展的研究尚不深入,即SWF在HTML中传播,最近被迫项目从项目的要求,和这里的总结。
1:HTML中最快的传输方式
当在HTML中插入SWF时,您可以跟踪一个参数,例如:
文件 /家。swfid = 21prime;
它可以接收在AS3
var id:字符串的阶段。每个参数{id};这个值实际上是AS2时做的,使用参数属性AS3代替as1.0 2 SWF文件的参数作为主要的时间表,所以我们使用价值AS3就行。
这种方法只能单向一次性传递值,有时会用到,但与JS通信不好,只能接收字符串。
二:使用外部通信接口接口
这也是沟通的最可靠的方法,在AS2时代演变。
使用方法:
1.js调用AS3的功能
在确定JS调用AS3,调用函数绑定到AS3,这是唯一的方法,如承诺,JS,可以称为。
用途:ExternalInterface.addCallback(函数名:字符串,关闭功能):有两个参数无效:
函数名:字符串mdash;容器可以用来调用的函数名称。
关闭:功能mdash;调用关闭功能。这可能是一个独立的功能,也可以关闭方法引用的对象实例的方法。通过传递闭包法,回调其实是可以针对特定的对象实例的方法。
复制代码代码如下所示:
externalinterface.addcallback(getasvars
私有函数getasfun(值:字符串):无效{
从js值中获取:值
好的,你可以用js调用这个方法。在调用之前,我们必须首先得到插入到HTML中的SWF的ID。我们可以以HTML的任何方式设置id。
例如,首先通过身份证;mov得到的对象,然后调用上面的绑定方法:
复制代码代码如下:功能(这moviename){
如果(navigator.appname.indexof(微软)!= 1){
返回窗口moviename } {;
}
{其他
返回文档moviename } {;
}
}
这部影片(MOV)。GetASVars(值);2.as3 JS调用的函数直接调用JS AS3的语气
用途:externalinterface.call(函数名:字符串,hellip;参数):*
此方法有两个参数:
函数名:字符串mdash;你想打电话给容器中的函数名称。
hellip;争论mdash;是通过在容器中的函数的参数,你可以指定零个或多个参数,参数之间用逗号隔开。这些参数可以是任何Actionscript数据类型。调用Javascript函数时,动作脚本类型自动封装到Javascript类型。当调用另一个ActiveX容器时,它将对请求消息中的参数进行编码。
例如:
复制代码代码如下:externalinterface.call(settojs
这个函数是写在settojs / js。
功能sentojs(值){
警报(值) / /输出:paramtest
它看起来不错,但不完全可靠,而且界面很挑剔,只能在下面的浏览器中使用。
浏览器操作系统操作系统
Internet Explorer 5和更高版本的Windows
Netscape 8和Windows Macintosh的高级版本
Mozilla 1.7.5和更高版本Windows、Macintosh
火狐1和Windows Macintosh的高级版本
Safari 1.3和更高版本的Macintosh
还有一个安全沙箱问题。如果发生安全沙箱警报,可以使用以下两种方法:
1。在包含HTML页面中的SWF文件的对象标记中,设置以下参数:
2。在SWF文件,添加下面的脚本:
复制代码如下:flash.system.security.allowdomain(源域)