使用外部 API

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

ActionScript 3.0 外部 API ( flash.external.ExternalInterface ) 讓 ActionScript 與執行 Adobe Flash Player 的容器應用程式之間可以直接通訊。使用 ExternalInterface API 即可在 SWF 文件與 HTML 頁面的 JavaScript 之間建立互動。

您可以使用外部 API 與容器應用程式互動、在 ActionScript 與 HTML 頁面的 JavaScript 之間傳遞資料。

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

  • 使用 ActionScript 呼叫瀏覽器所顯示網頁中的程式碼或 AIR 桌面應用程式

  • 從網頁呼叫 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 程式碼。