透過 JavaScript 存取 AIR API 類別

Adobe AIR 1.0 以及更新的版本

除了 Webkit 的標準和擴充元素以外,HTML 和 JavaScript 程式碼也可以存取執行階段提供的主控類別。這些類別可以讓您存取 AIR 提供的各種進階功能,其中包括:

  • 存取檔案系統

  • 使用本機 SQL 資料庫

  • 控制應用程式和視窗選單

  • 存取通訊端以進行網路連線

  • 使用使用者定義的類別和物件

  • 聲音功能

    例如,AIR 檔案 API 包括 File 類別,這個類別包含在 flash.filesystem 套件中。因此,您可以在 JavaScript 中建立 File 物件,如下所示:

    var myFile = new window.runtime.flash.filesystem.File();

    runtime 物件是特殊的 JavaScript 物件,在應用程式安全執行程序之 AIR 中執行的 HTML 內容可以使用這個物件。這個物件可以讓您透過 JavaScript 存取執行階段類別。 runtime 物件的 flash 屬性可以提供 flash 套件的存取權限,而 runtime 物件的 flash.filesystem 屬性可以提供 flash.filesystem 套件 (而且這個套件包含 File 類別) 的存取權限。所謂套件,是指將 ActionScript 中用到的類別組織起來的方式。

    備註: runtime 屬性不會自動加入至在 frame 或 iframe 中載入之網頁的視窗物件。不過,只要子文件位於應用程式安全執行程序中,這個子系就可以存取父輩的 runtime 屬性。

    由於執行階段類別的套件結構需要開發人員輸入很長的 JavaScript 程式碼字串才能存取每個類別 (例如 window.runtime.flash.desktop.NativeApplication ),而 AIR SDK 包含的 AIRAliases.js 檔案可以讓您更輕易地存取執行階段類別 (舉例來說,只要輸入 air.NativeApplication 即可)。

    本指南著重於討論 AIR API 類別,對於 HTML 開發人員可能感興趣之 Flash Player API 的其它類別,則可以在 Adobe AIR API Reference for HTML Developers 中找到相關說明。ActionScript 是在 SWF (Flash Player) 內容中使用的語言。不過,JavaScript 和 ActionScript 的語法很類似 (兩者都是以 ECMAScript 語言版本為基礎)。在 JavaScript (在 HTML 內容中) 和 ActionScript (在 SWF 內容中) 中都可以使用內建類別。

    備註: JavaScript 程式碼無法使用 Dictionary、XML 和 XMLList 類別,而這些類別都可以在 ActionScript 中使用。