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之间的通讯方法小结 - Python技术站