两个swf之间相互调用
2015-07-01 15:30
411 查看
利用LocalConnection来通信。详见api中LocalConnection类
有4中通信方式
在一个swf文件内
在多个swf文件之间
在AIR应用程序的内容(基于SWF或基于HTML)之间
在 AIR 应用程序的内容(基于 SWF 或基于 HTML)和运行于浏览器中的 SWF 内容之间
同一个域。这是使用 LocalConnection 对象最简单的情况,它只允许在位于同一个域中的 LocalConnection 对象间通信,这是因为默认情况下,应用程序允许同域通信。当同一个域中的两个 文件通信时,无需实施任何特殊的安全措施,而只需将
// receivingLC is in http://www.domain.com/receiving.swf
receivingLC.connect('myConnection');
// sendingLC is in http://www.domain.com/sending.swf
// myMethod() is defined in sending.swf
sendingLC.send('myConnection', 'myMethod');
具有可预知域名的不同域。当不同域中的两个 SWF 文件通信时,需要通过调用
// receivingLC is in http://www.domain.com/receiving.swf
receivingLC.allowDomain('www.anotherdomain.com');
receivingLC.connect('myConnection');
// sendingLC is in http://www.anotherdomain.com/sending.swf
sendingLC.send('www.domain.com:myConnection', 'myMethod');
具有不可预知域名的不同域。有时候,可能希望具有接收方 LocalConnection 对象的 文件在域之间具有更好的可移植性。为了避免在
方法并传递您希望允许 LocalConnection 调用的域。或者,也可以传递通配符 (*) 参数来允许从所有域调用:
// receivingLC is in http://www.domain.com/receiving.swf
receivingLC.allowDomain('*');
receivingLC.connect('_myConnection');
// sendingLC is in http://www.anotherdomain.com/sending.swf
sendingLC.send('_myConnection', 'myMethod');
可以使用 LocalConnection 对象发送和接收单个 文件中的数据,但这不是通常的用法。
//====================我的实例
这是两个不同域的swf,要么用allowDomain('*');
connectionName前加下划线
要么用特定的域名限制,connectionName前不加下划线
ManagerApp.as
ViewApp.as
有4中通信方式
在一个swf文件内
在多个swf文件之间
在AIR应用程序的内容(基于SWF或基于HTML)之间
在 AIR 应用程序的内容(基于 SWF 或基于 HTML)和运行于浏览器中的 SWF 内容之间
同一个域。这是使用 LocalConnection 对象最简单的情况,它只允许在位于同一个域中的 LocalConnection 对象间通信,这是因为默认情况下,应用程序允许同域通信。当同一个域中的两个 文件通信时,无需实施任何特殊的安全措施,而只需将
connectionName参数的同一个值传递给
connect()和
send()方法。
// receivingLC is in http://www.domain.com/receiving.swf
receivingLC.connect('myConnection');
// sendingLC is in http://www.domain.com/sending.swf
// myMethod() is defined in sending.swf
sendingLC.send('myConnection', 'myMethod');
具有可预知域名的不同域。当不同域中的两个 SWF 文件通信时,需要通过调用
allowDomain()方法来允许在这两个不同域之间进行通信。还需要在
send()方法中使用接收方 LocalConnection 对象的域名限定连接名:
// receivingLC is in http://www.domain.com/receiving.swf
receivingLC.allowDomain('www.anotherdomain.com');
receivingLC.connect('myConnection');
// sendingLC is in http://www.anotherdomain.com/sending.swf
sendingLC.send('www.domain.com:myConnection', 'myMethod');
具有不可预知域名的不同域。有时候,可能希望具有接收方 LocalConnection 对象的 文件在域之间具有更好的可移植性。为了避免在
send()方法中指定域名,但要指出接收方和发送方 LocalConnection 对象不在同一个域中,可在
connect()和
send()调用中的连接名称之前加一个下划线 (_)。要允许在这两个不同域之间通信,请调用
allowDomain()
方法并传递您希望允许 LocalConnection 调用的域。或者,也可以传递通配符 (*) 参数来允许从所有域调用:
// receivingLC is in http://www.domain.com/receiving.swf
receivingLC.allowDomain('*');
receivingLC.connect('_myConnection');
// sendingLC is in http://www.anotherdomain.com/sending.swf
sendingLC.send('_myConnection', 'myMethod');
可以使用 LocalConnection 对象发送和接收单个 文件中的数据,但这不是通常的用法。
//====================我的实例
这是两个不同域的swf,要么用allowDomain('*');
connectionName前加下划线
要么用特定的域名限制,connectionName前不加下划线
ManagerApp.as
ViewApp.as
相关文章推荐
- 类模板
- 正则表达式实例(转)
- Gradle 1.12 翻译——第九章 Groovy高速入口
- Install MariaDB on CentOS 7
- uc/os-ii任务的挂起与恢复
- SQL Server执行计划的理解
- Git
- 熟悉标准库
- ETL 抽取方案
- hadoop各个类及其作用
- onsavedinstance()和onpause()保存数据
- ArrayList用法入门
- mysql foreach case FIND_IN_SET
- Win7打印文件时提示Active Directory域服务当前不可用
- Java学习篇之--- log4j.properties 详解与配置步骤
- 串的模式匹配---------kmp算法
- LeetCode || Sqrt(x)
- [华为机试练习题]29.Arrange an Array to Form a Smallest Digit
- python enumerate函数用法
- PHP+Ajax实时自动检测是否联网的方法