as2AVM1物件和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 ;
}
}
本文轉自jiahuafu部落格園部落格,原文連結http://www.cnblogs.com/jiahuafu/archive/2009/10/30/1593006.html如需轉載請自行聯絡原作者
jiahuafu
相關文章
- CANopen學習筆記(二)通訊物件PDO和SDO等筆記物件
- session物件、cookie物件和appliaction物件Session物件CookieAPP
- jQuery物件和DOM物件jQuery物件
- 事務物件和命令物件物件
- Django:F物件和Q物件Django物件
- Unity通過子物件獲取父物件例子Unity物件
- jquery物件和DOM物件的互相轉換jQuery物件
- JavaScript物件導向—物件的建立和操作JavaScript物件
- JavaScript 本地物件、內建物件和宿主物件JavaScript物件
- AS3 快速入門篇------使用ActionScript 建立物件例項小結S3物件
- jQuery物件和DOM物件和字串之間的轉化jQuery物件字串
- JavaScript內部物件和Date物件JavaScript物件
- 區別 Jquery物件和Dom物件jQuery物件
- 例項物件和函式物件的區別物件函式
- 【JQuery】DOM物件和JQuery物件的互相轉換jQuery物件
- JS中的Math物件,陣列,和Date物件JS物件陣列
- 一切皆物件,介面也能再抽象(Fragment通訊)物件抽象Fragment
- javascript物件和php物件和json區別JavaScript物件PHPJSON
- 內建物件、宿主物件和本地物件是什麼物件
- 物件的建立和分配物件
- Django(26)HttpResponse物件和JsonResponse物件DjangoHTTP物件JSON
- 複習JAVA面相物件(類和物件)Java物件
- 物件導向的基本理論1:類和物件物件
- 物件和類物件
- 類和物件物件
- JavaScript客戶端document物件和window物件的區別JavaScript客戶端物件
- js選擇物件和jq選擇物件的區別JS物件
- jQuery物件和DOM物件之間的轉換實現jQuery物件
- jquery物件和DOM物件的區別及互相轉化jQuery物件
- Python可變物件和不可變物件Python物件
- js的函式和物件JS函式物件
- cpp中的類和物件物件
- java裡的物件和類Java物件
- JavaScript的型別和物件JavaScript型別物件
- Golang中多大的物件算是大物件,多小的物件算是小物件?Golang物件
- Swift通過類名建立物件Swift物件
- Java獲取Class物件的方式和例項化物件的方式Java物件
- 現代新的簡化”物件“和”物件導向“的定義物件