AS3常用代码(一):AS3与JS的交互
原文地址:http://hi.baidu.com/dannyfd/blog/item/1909ff29ec5796345343c111.html
一直以来都是用AS3比较多,但AS3最终还是要上到页面上去与页面进行交互,所以工作之余又学习了Javascript,PHP,Html+CSS,MySQL等,虽然都很基础,呵呵···
对他们之间的交互一直很迷糊,到底谁调用谁,正着怎么来,反着怎么来,虽然都有点头绪,但是总是觉得很乱,今天就来将他们之间的关系好好的梳理一下,顺便巩固一下自己。
首先先来确定一下问题的规模,这次主要研究的对象是AS3,JS,PHP,HTML,数据库五种对象,那么他们之间的两两对应关系总共有:4x3x2x1=24种,每种为双向研究,例如AS3调用JS,JS调用AS3,就是24*2=48种,然后每种再分别研究属性传递和函数调用,就是48*2=96,96?!汗···呵呵···其实开玩笑,有些是不可以直接调用的··
balabalabala....废话说完...开始正题:
一,AS3 vs JavaScript
(1)AS3调用JS
函数:
ExternalInterface.call(functionName:String, ... arguments):* //AS3 Code
属性:
同上,通过调用JS函数更改值
(2)JS调用AS3
函数:
AS3部分:
1,注册JS中调用的函数名(第一个参数),ExternalInterface.addCallback(functionName:String, closure:Function):void。2,写对应的处理函数(第二个参数)。
JS部分:
1,设置页面中SWFObject的ID属性。2,调用window.ID.functionName(Paraments...)。
属性:
同上,通过调用AS函数更改值
注意:
1,安全沙箱问题,通过设置页面端属性。
2,AS3调用JS时需要确保JS函数已准备。
3,JS调用AS3时需要确保SWF已成功加载。