ActionScript和JavaScript之间的互相调用

ActionScript和JavaScript之间的互相调用

简单说说在开发Flex程序时,AS与JS通讯的问题

1、AS调用JS
    AS调JS的方法很简单,直接使用ExternalInterface.call这个方法就可以直接调用了。
    如:
ExternalInterface.call('alert','1901');

    第一个参数是Js的函数名,第二个参数是函数所需的参数。


2、JS调用AS
    JS调用AS,需要先在AS中ExternalInterface.addCallback来增加回调函数。
    如:
ExternalInterface.addCallback("function1", callback1);
        第一个参数是JS需要调用的函数名,第二个参数是这个函数被调用时回调到哪个函数。
    
    增加回调函数和回调函数写好后,AS部分算是完成了,然后就是JS部分的内容了。
    首先在HTML中找到嵌入flash的object标签,找到这个object标签的id,
    然后直接使用id.functionName的方式来调用AS中的函数。

    示例代码:
    function invokeFlexFunctions()
    {
        
// test为嵌入flash的object标签的id
        test.function1();
        test.function2(
"hello,1901!~");
        alert(test.function3());
    }


补充一个,如果需要在页面关闭的时候调用AS中的某一个方法可以使用下面这个方法:

window.onbeforeunload=function()
{
    alert(test.function3());
}

====================================================================

 觉得我说的不清楚的可以下载文末的附件直接看示例代码。

附件下载
posted @ 2010-11-16 11:29  1901  阅读(853)  评论(0编辑  收藏  举报