2011-07-02 138 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功能,如文件系统访问。

如果你想调用的文件系统功能和其他安全方法从第二帧,你需要创建一个沙箱桥,其上覆盖我指的是上面在文档中。

希望这会有所帮助。