![]() ![]() | |
Flash Player 6;行为在 Flash Player 7 中进行了更改。
receiving_lc.allowDomain = function([sendingDomain]) { // 您在此处输入的语句返回 true 或 false }
sendingDomain 可选参数,指定包含发送方 LocalConnection 对象的 SWF 文件的域。
无。
事件处理函数;每当 receiving_lc 从发送方 LocalConnection 对象收到调用方法的请求时调用。Flash 需要您在此处理函数中实现的代码返回布尔值 true 或 false。如果此处理函数没有返回 true,则将忽略发送方对象的请求,并且不调用方法。
使用此命令可从指定域或任何域中显式允许 LocalConnection 对象执行接收方 LocalConnection 对象的方法。如果没有声明 sendingDomain 参数,则可能需要接受任何域中的命令,并且处理函数中的代码将只为 return true。如果您声明了 sendingDomain,则可能需要将 sendingDomain 的值与要从中接受命令的域进行比较。以下示例将说明这两种实现方式。
在 Flash Player 6 中运行的文件中,sendingDomain 参数包含调用方的超域。在 Flash Player 7 或更高版本中运行的文件中,sendingDomain 参数包含该调用方的确切的域。在后一种情况中,若要允许由在 www.domain.com 或 store.domain.com 承载的 SWF 文件访问,您必须显式允许从这两个域的访问。
// 对于 Flash Player 6receiving_lc.allowDomain = function(sendingDomain) { return(sendingDomain=="domain.com"); } // 允许在 Flash Player 7 或更高版本中运行的 SWF 文件 // 访问的相应命令receiving_lc.allowDomain = function(sendingDomain) { return(sendingDomain=="www.domain.com" || sendingDomain=="store.domain.com"); }
此外,对于在 Flash Player 7 或更高版本中运行的文件,您不能使用此方法允许使用安全协议 (HTTPS) 承载的 SWF 文件可以从使用非安全协议承载的 SWF 文件访问;必须改用 LocalConnection.allowInsecureDomain 事件处理函数。
以下示例显示接收方 SWF 文件中的 LocalConnection 对象如何允许任何域中的 SWF 文件调用其方法。将其与 LocalConnection.connect() 中的示例进行比较,在该示例中,只有来自同一个域中的 SWF 文件才能调用接收方 SWF 文件中的 Trace 方法。有关下划线 (_) 在连接名称中的用法的讨论,请参见 LocalConnection.send()。
var aLocalConnection = new LocalConnection();
aLocalConnection.Trace = function(aString)
{
aTextField = aTextField + aString + newline;
}
aLocalConnection.allowDomain = function() {
// 任何域均可对此 LocalConnection 对象调用方法
return true;
}
aLocalConnection.connect("_trace");
在以下示例中,接收方 SWF 文件只接受来自位于 thisDomain.com 或 thatDomain.com 中的 SWF 文件的命令。
var aLocalConnection = new LocalConnection();
aLocalConnection.Trace = function(aString)
{
aTextField = aTextField + aString + newline;
}
aLocalConnection.allowDomain = function(sendingDomain)
{
return(sendingDomain=="thisDomain.com" || sendingDomain=="thatDomain.com");
}
aLocalConnection.connect("_trace");
LocalConnection.connect()、LocalConnection.domain()、LocalConnection.send()
![]() ![]() | |