2011-07-02 68 views
1

嗨使用功能我剛開始使用Adobe AIR的播放。我正在使用一個名爲Angular的JavaScript庫。在Adobe AIR

然而,這條線在觸發的Adobe Air的沙箱庫:

fn = Function('s', code); 

Adob​​e AIR的支持頁面有這樣一句話:

呼籲新功能(PARAM,體)可以用內聯函數聲明替換,或者僅在處理頁面加載事件之前使用。

能否請您解釋一下什麼內聯函數聲明的含義及如何使用它一般要達到同樣的效果?

感謝

使用EVAL和其他阻塞的方法可以在Adobe AIR的工作,只是沒有在應用程序沙箱

回答

3

JavaScript框架。

請參閱本文檔的細節,但本質上你可以得到這個通過加載頁面(S),其使用了一個框架,一個二級框架工作。 Air中的頂部框架始終被視爲應用程序沙箱,而其他框架則以非應用程序模式運行,因此允許訪問所有阻止的JavaScript方法。

http://help.adobe.com/en_US/air/html/dev/air_htmldevguide.pdf

搜索部分

這裏的「上配置基於HTML的應用程序概述」是一個框架的一個例子,我已經習慣瞭解決這個問題

<body> 

    <iframe src="/blank.html" width="100%" height="0" scrolling="no" id="top" ></iframe> 
    <iframe src="http://www.example.com/air/home.html" documentRoot="app:/" sandboxRoot="http://www.example.com/air" allowCrossDomainXHR="true" width="100%" height="720" scrolling="no" id="bottom"> 
    </iframe> 

</body> 

神奇的是在documentRoot和sandboxRoot屬性中。無論設置爲documentRoot替換sandboxRoot中使用的域名。請注意,因此sandboxRoot不需要是有效的路徑。

在這種情況下,頂部框架加載一個叫做從應用程序到應用程序沙箱blank.html文件,因此該文件可以調用文件系統功能等。該應用程序沙箱有權限做。

第二幀將從應用程序目錄加載「home.html」,但它會將其加載到非應用程序沙箱中,該應用程序沙箱幾乎可以包含任何將在Safari 4中運行的JavaScript框架(假設您正在使用AIR運行時的最新版本)。但是,此框架無法調用安全的AIR功能,如文件系統訪問。

如果你想調用的文件系統功能和其他安全方法從第二幀,你需要創建一個沙箱橋,其上覆蓋我指的是上面在文檔中。

希望這會有所幫助。