使用外部 API

Flash Player 9 以及更新的版本,Adobe AIR 1.0 以及更新的版本

ActionScript 3.0 外部 API (flash.external.ExternalInterface) 讓 ActionScript 與執行 Adobe Flash Player 的容器應用程式之間可以直接通訊。許多情況下都很適合使用外部 API,例如,建立 HTML 網頁中 SWF 文件與 JavaScript 之間的互動,或建立使用 Flash Player 來顯示 SWF 檔的桌面應用程式。

您可以使用外部 API 與容器應用程式互動、在 HTML 網頁中的 ActionScript 與 JavaScript 之間傳遞資料,以及建立 ActionScript 與桌面應用程式之間的通訊及資料交換。

部分常見外部 API 工作如下:
  • 取得容器應用程式的相關資訊

  • 使用 ActionScript 來呼叫容器應用程式中,包括網頁或桌面應用程式的程式碼

  • 從容器應用程式中的程式碼呼叫 ActionScript 程式碼

  • 建立 Proxy 以簡化從容器應用程式呼叫 ActionScript 程式碼的程序

備註: 外部介面的這項討論只涵蓋下列兩者之間的通訊:SWF 檔案中的 ActionScript 與參考 Flash Player 或載入 SWF 檔案之實體的容器應用程式。其它有關在應用程式內使用 Flash Player 的主題則不在本文件的討論範圍。Flash Player 的設計目的是要當做瀏覽器外掛程式或放映檔 (獨立應用程式) 來使用。如果在其它情況下使用,提供的支援可能很有限。

在 AIR 中使用外部 API

因為 AIR 應用程式沒有外部容器,所以這個外部介面一般不適用 (通常也不需要)。AIR 應用程式直接載入 SWF 檔案時,應用程式程式碼可以直接與 SWF 中的 ActionScript 程式碼通訊 (受限於安全執行程序限制)。

不過,AIR 應用程式在 HTMLLoader 物件中使用 HTML 網頁載入 SWF 檔案 (或 Flex 中的 HTML 元件) 時,HTMLLoader 物件是做為外部容器。因此,您可以使用外部介面在下列兩者之間進行通訊:已載入 SWF 中的 ActionScript 程式碼與 HTMLLoader 中載入之 HTML 網頁中的 JavaScript 程式碼。