as2 AVM1对象和as3对象的通信
注意本人遇到的 connection名稱問題,因為實際上是域:名稱,調用時有時會找不到,因此在connection名稱前加_
更真實的原因是as1.0不支持connection,所以發布時一定要看清楚哈,用flash player6不一定是as2.0!
具有不可預知域名的不同域。 有時候,可能希望具有接收方 LocalConnection 對象的 SWF 文件在域之間具有更好的可移植性。 若不想在 send() 方法中指定域名,但要向 Flash Player 指出接收方和發送方 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 對象最簡單的情況,它只允許位于同一個域中的 LocalConnection 對象間通信(默認情況下,Flash Player 允許同域通信)。 當同一個域中的兩個 SWF 文件通信時,無需實施任何特殊的安全措施,而只需將 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');?
?
?
?
ActionScript 3.0 中創建的 LocalConnection 對象可以與 ActionScript 1.0 或 2.0 中創建的 LocalConnection 對象通信。反之亦然:ActionScript 1.0 或 2.0 中創建的 LocalConnection 對象可以與 ActionScript 3.0 中創建的 LocalConnection 對象通信。Flash Player 可自動處理不同版本 LocalConnection 對象間的通信。
若要了解如何使用 LocalConnection 對象在兩個 文件之間進行通信,了解每個文件中使用的命令非常有用。一個 文件被稱為發送方 文件;此文件包含要調用的方法。發送方 文件必須包含一個 LocalConnection 對象和對 send() 方法的調用。另一個 文件被稱為接收方 文件;此文件為調用方法的文件。接收方 文件必須包含另一個 LocalConnection 對象和對 connect() 方法的調用。
send() 和 connect() 的使用將有所不同,這取決于 文件是在同一個域中、在具有可預知域名的不同域中還是在具有不可預知域名(即動態域名)的不同域中。下文將說明這三種不同的情況,并針對每種情況分別提供代碼示例。
同一個域。這是使用 LocalConnection 對象最簡單的情況,它只允許在位于同一個域中的 LocalConnection 對象間通信,這是因為默認情況下,應用程序允許同域通信。當同一個域中的兩個 文件通信時,無需實施任何特殊的安全措施,而只需將 connectionName 參數的同一個值傳遞給 connect() 和 send() 方法。
?
AS3的connect()方法已經沒有返回值了,那么想在連接失敗的時候嘗試其它連接就只能通過捕獲ArgumentError。
varconn:LocalConnection=newLocalConnection();
varid:int=1;
while(true){
try{
conn.connect(String(id));
break;
}catch(e:ArgumentError){
id ;
}
}
?
?
轉載于:https://www.cnblogs.com/jiahuafu/archive/2009/10/30/1593006.html
總結
以上是生活随笔為你收集整理的as2 AVM1对象和as3对象的通信的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 真不知写什么了,也就是很久没有做什么了
- 下一篇: gzip(来源百度百科)