沃梦达 / IT编程 / 前端开发 / 正文

flash javascript之间的通讯方法小结

在开发网络应用程序的过程中,我们常常需要使用Flash和JavaScript之间的通讯。下面是一些常见的通讯方法。

Flash JavaScript之间的通讯方法小结

在开发网络应用程序的过程中,我们常常需要使用Flash和JavaScript之间的通讯。下面是一些常见的通讯方法。

1. ExternalInterface

ExternalInterface 类是Flash和JavaScript之间通讯的最基本的方法,它提供了一个双向的接口,可以在Flash和JavaScript之间传递数据和调用方法。以下是一个示例:

// JavaScript代码
function jsFunction(str) {
    alert(str);
    return "success";
}

// AS3代码
import flash.external.ExternalInterface;
if( ExternalInterface.available ) {
    ExternalInterface.call("jsFunction", "Hello, world!");
}

在此示例中,我们定义了一个名为jsFunction的JavaScript函数,它接收一个字符串参数并将其弹出。然后我们在AS3中检查是否可用ExternalInterface,如果可用,则使用ExternalInterface.call方法调用jsFunction函数并传递一个“Hello,world!”的参数。

2. LocalConnection

LocalConnection 类是Flash之间通讯的一种有趣的方法,也可以用于与JavaScript之间的通讯。它提供了一个在两个不同的Flash应用程序之间传输数据的机制。以下是一个示例:

// JavaScript代码
var id = "myLocalConnection";
var lc = new window.swfobject.LocaConnection();

lc.connect(id);
lc.send(id, "onData", "Hello, world!");

lc.client = {
    onData: function(data) {
        alert(data);
    }
};
// AS3代码
import flash.net.LocalConnection;

var id:String = "myLocalConnection";
var lc:LocalConnection = new LocalConnection();

lc.connect(id);

lc.client = {
    onData: function(str:String):void {
        trace(str);
    }
}

在此示例中,我们在JavaScript代码中实例化了一个LocalConnection对象,并使用connect方法连接到“myLocalConnection”ID。然后我们使用send方法将字符串数据“Hello,world!”发送到ID为“myLocalConnection”的连接。在AS3代码中,我们也使用LocalConnection创建了一个连接,并使用connect方法连接到ID为“myLocalConnection”的连接。我们通过设置客户端对象上的onData函数来接收来自JavaScript的数据。

总结

以上是一些Flash和JavaScript通讯的基本方法的示例。除此之外,还有其他一些通讯方法,例如使用外部文本文件、浏览器Cookie等共享数据等。需要根据具体的需求来选择合适的方法来实现Flash和JavaScript之间的通讯。

本文标题为:flash javascript之间的通讯方法小结