[英]Send array from Flash (AS3) to JavaScript
是否可以使用ExternalInterface調用將數組從Flash(AS3)發送到JavaScript?
我目前正在從Flash中的'for each'循環中多次調用一個函數,但它的速度太快,以至於JavaScript無法跟上。
我的想法是創建一個屬性數組,將其傳遞給JavaScript函數,然后在JavaScript中循環它。
謝謝,喬希
是的,這是可能的。
... arguments - 傳遞給容器中函數的參數。 您可以指定零個或多個參數,用逗號分隔它們。 它們可以是任何ActionScript數據類型。 當調用JavaScript函數時,ActionScript類型會自動轉換為JavaScript類型; 當調用其他ActiveX容器時,參數將在請求消息中進行編碼。
快速測試:
AS代碼:
if(ExternalInterface.available) {
ExternalInterface.call("jsTest", [0,1,"two",{a:1,b:2}]);
}
JS代碼:
function jsTest(arg) {
alert(arg);
}
除了使用JSON的建議之外,對於小型數組來說這應該更快,並且不需要使用eval或外部庫來解析。 在flash中加入一個像這樣的字符串中的數組:
物品1 | ITEM2 |項目3 | ITEM4
將字符串傳遞給JS並使用split(“|”)再次拆分它
您始終可以創建一個JSON對象並將其傳遞給JavaScript。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.