舊版相容性
與以往相同的是,Flash Player 也對先前發佈的內容提供完整的舊版相容性。能在舊版 Flash Player 中執行的任何內容都可以在 Flash Player 9 中執行。不過,由於 Flash Player 9 採用 ActionScript 3.0,因此在 Flash Player 9 或更新版本中執行的新舊內容可能會有互通性的問題。這些相容性問題包括:
單一 SWF 檔不能將 ActionScript 1.0 或 2.0 程式碼與 ActionScript 3.0 程式碼結合在一起。
ActionScript 3.0 程式碼可載入使用 ActionScript 1.0 或 2.0 撰寫的 SWF 檔,但不能存取 SWF 檔的變數和函數。
以 ActionScript 1.0 或 2.0 撰寫的 SWF 檔無法載入以 ActionScript 3.0 撰寫的 SWF 檔。這表示,以 Flash 8、Flex Builder 1.5 或更早版本所編寫的 SWF 檔無法載入 ActionScript 3.0 SWF 檔。
唯一的例外是,只要 ActionScript 2.0 SWF 檔先前未將任何內容載入其任何階層,就可以用 ActionScript 3.0 SWF 檔取代本身。ActionScript 2.0 SWF 檔可以呼叫 loadMovieNum(),然後將值 0 傳遞至 level 參數,藉以達到此目的。
一般來說,以 ActionScript 1.0 或 2.0 撰寫的 SWF 檔必須進行移轉,才能和以 ActionScript 3.0 撰寫的 SWF 檔一起使用。例如,假設您以 ActionScript 2.0 建立了媒體播放程式。這個媒體播放程式會載入同樣以 ActionScript 2.0 所建立的各種內容。但是,您不能以 ActionScript 3.0 建立新內容,並在該媒體播程式中載入此內容。您必須將這個媒體播放程式移轉為 ActionScript 3.0。
但是,如果您使用 ActionScript 3.0 建立媒體播放程式,這個媒體播放程式就可以直接載入 ActionScript 2.0 內容。
下表摘要說明舊版 Flash Player 載入新內容和執行 Script 編寫的限制,以及不同 ActionScript 版本所撰寫的 SWF 檔在跨 Script 處理方面有哪些限制。
支援的功能
|
Flash Player 7
|
Flash Player 8
|
Flash Player 9 和 10
|
可以載入哪些 SWF 版本
|
7 和更早版本
|
8 和更早版本
|
9 (或 10) 和舊版
|
包含的 AVM
|
AVM1
|
AVM1
|
AVM1 和 AVM2
|
可執行哪些 ActionScript 版本撰寫的 SWF
|
1.0 和 2.0
|
1.0 和 2.0
|
1.0、2.0 和 3.0
|
在下表中,「支援的功能」表示在 Flash Player 9 或更新版本中執行的內容。在 Flash Player 8 或更早版本中執行的內容只能載入、顯示、執行和跨 Script 處理 ActionScript 1.0 和 2.0。
支援的功能
|
使用 ActionScript 1.0 and 2.0 建立的內容
|
使用 ActionScript 3.0 建立的內容
|
可以載入的內容和執行程式碼的內容版本
|
僅 ActionScript 1.0 和 2.0
|
ActionScript 1.0 和 2.0,以及 ActionScript 3.0
|
可以跨 Script 處理的內容版本
|
僅 ActionScript 1.0 和 2.0 (透過本機連線的 ActionScript 3.0)
|
透過本機連線的 ActionScript 1.0 和 2.0。
ActionScript 3.0
|