簡體   English   中英

將數組從Flash(AS3)發送到JavaScript

[英]Send array from Flash (AS3) to JavaScript

是否可以使用ExternalInterface調用將數組從Flash(AS3)發送到JavaScript?

我目前正在從Flash中的'for each'循環中多次調用一個函數,但它的速度太快,以至於JavaScript無法跟上。

我的想法是創建一個屬性數組,將其傳遞給JavaScript函數,然后在JavaScript中循環它。

謝謝,喬希

是的,這是可能的。

http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/flash/external/ExternalInterface.html#call()

... 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM