Flex 安全沙箱冲突:SecurityError: Error #2148

时间:2022-08-28 15:19:23

在做 Flex 测试程序时,因为要同时访问本地和网络资源,遇到了可恶的 安全沙箱冲突:

SecurityError: Error #2148:SWF 文件 file:///H:/test.swf 不能访问本地资源 a.gif。只有仅限于文件系统的 SWF 文件和可信的本地 SWF 文件可以访问本地资源。

本人使用的Flash插件版本为: Adobe Flash Player 11.1.102.55 

使用 -use-network=false 编译时就无法访问本地资源了,如果去掉则不能访问网络资源了,看到网上有关使用 “ FlashPlayerTrust配置文件”的方法,仍然不行,郁闷了。。。

经过一番挣扎,终于在官网上找到了解决方法,在 Flash 插件上右键 》全局设置 》高级 》开发人员工具,具体设置如下:

开发人员工具

对于开发人员:Flash 开发人员通常处理最终部署到 Internet 上的 SWF 或 FLV 内容。在部署这些应用程序期间,开发人员需要在本地存储 SWF 或 FLV 内容时就对其进行测试,而不是在部署到 Web 服务器上才测试。为了安全起见,Flash Player 会阻止本地存储的 SWF 和 FLV 内容访问 Internet,并且阻止 Internet 上的 SWF 和 FLV 内容访问您的计算机。

相应地,在本地测试期间,Flash Player 可以显示阻止应用程序正常运行的安全警告。您可以使用“受信任位置设置”面板将您自己的 SWF 或 FLV 内容指定为可信内容,从而解决这一问题。您可以将个别文件的路径指定为可信路径,或者指定文件夹为可信文件夹。可信文件夹中的所有文件及其任何子文件夹也会受信任。

受信任位置设置...

使用此选项卡可指定您计算机上包含您信任的 SWF 或 FLV 内容的位置。可信内容不遵循阻止内容访问 Internet 和本地计算机文件系统的安全规则。

为开发人员测试指定可信位置的步骤

  1. 在“高级”面板的“开发人员工具”下,单击“受信任位置设置”,然后单击“添加”。

  2. 输入您计算机上包含可信内容的位置,或者单击“浏览文件”或“浏览文件夹”找到要信任的文件或文件夹。如果指定文件夹而不是指定文件,则文件夹中的所有内容(包括子文件夹)都将成为可信内容。

  3. 单击“确认”会将域、文件或文件夹添加到受信任位置列表。


参考:http://www.im-hungry.info/blog/?p=188