LocalConnection 类

可用性

Flash Player 6。

说明

LocalConnection 类用于开发 SWF 文件,这些文件无需使用 fscommand() 或 JavaScript 即可相互发送指令。LocalConnection 对象只能在运行于同一台客户机上的 SWF 文件之间通讯,但这些 SWF 文件可以在两个不同的应用程序中运行。例如,一个 SWF 文件在浏览器中运行,而一个 SWF 文件在播放器中运行。您可以使用 LocalConnection 对象在单个 SWF 文件中发送和接收数据,但这不是标准的实现;本节中的所有示例均说明不同 SWF 文件之间的通讯。

用来发送和接收数据的主要方法是 LocalConnection.send() LocalConnection.connect()。在最基础的层次,您的代码将实现以下命令;请注意 LocalConnection.send()
LocalConnection.connect() 命令均指定相同的连接名称 lc_name

// 接收方影片中的代码
receiving_lc = new LocalConnection();
receiving_lc.methodToExecute = function(param1, param2) 
{ 
  // 要执行的代码
}
receiving_lc.connect("lc_name");
// 发送方影片中的代码
sending_lc = new LocalConnection();
sending_lc.send("lc_name", "methodToExecute", dataItem1, dataItem2)

LocalConnection 对象最简单的使用方法是仅允许在位于同一个域中的 LocalConnection 对象之间进行通讯,因为您将不需要处理与安全相关的问题。但是,如果您需要允许域间通讯,则可以通过多种方法来实现安全措施。有关更多信息,请参见 LocalConnection.send() 中对
connectionName 参数的讨论,以及 LocalConnection.allowDomainLocalConnection.domain() 条目。

LocalConnection 类的方法概述

方法

说明

LocalConnection.close()

关闭(断开连接)LocalConnection 对象。

LocalConnection.connect()

准备 LocalConnection 对象,以从 LocalConnection.send() 命令中接收命令。

LocalConnection.domain()

返回一个字符串,表示当前 SWF 文件所在位置的超域。

LocalConnection.send()

对指定的 LocalConnection 对象调用方法。

LocalConnection 类的事件处理函数概要

事件处理函数

说明

LocalConnection.allowDomain

每当当前(接收方)LocalConnection 对象从发送方 LocalConnection 对象收到调用方法的请求时调用。

LocalConnection.allowInsecureDomain

每当当前(接收方)LocalConnection 对象(位于使用安全协议 HTTPS 的域承载的 SWF 文件中)从发送方 LocalConnection 对象(位于使用非安全协议的域承载的 SWF 文件中)收到调用方法的请求时调用。

LocalConnection.onStatus

当发送方 LocalConnection 对象尝试将命令发送到接收方 LocalConnection 对象之后调用。

LocalConnection 类的构造函数

可用性

Flash Player 6。

用法

new LocalConnection()

参数

无。

返回

无。

说明

构造函数;创建 LocalConnection 对象。

示例

以下示例显示接收方 SWF 文件和发送方 SWF 文件如何创建 LocalConnnection 对象。请注意,这两个 SWF 文件可以为其各自的 LocalConnection 对象使用相同的名称或不同的名称。在此示例中,它们使用相同的名称 my_lc

// 接收方 SWF 中的代码
my_lc = new LocalConnection();
my_lc.someMethod = function() {
  // 此处是您的语句
}
my_lc.connect("connectionName");

// 发送方 SWF 中的代码
my_lc = new LocalConnection();
my_lc.send("connectionName", "someMethod");

另请参见

LocalConnection.connect()LocalConnection.send()