AS3中的安全沙箱

时间:2008-11-20 03:47:21

标签: actionscript-3 flashdevelop

什么是安全沙箱违规,我该如何覆盖它?我正在FlashDevelop中创建一个项目,而今天它不会加载外部文件,即使它以前也是如此。它给出了以下输出:

  

*************安全沙箱违规*********连接到   文件:/// C | /Documents%20and%20Settings/Kevin.PC885314341208/Desktop/Import%20.txt/StockData/1.txt   停止 - 不允许   文件:/// C | /Documents%20and%20Settings/Kevin.PC885314341208/Desktop/Import%20.txt/import.swf

我希望这不是一个严重的问题。

感谢您的帮助。

4 个答案:

答案 0 :(得分:11)

您发布的错误消息表明您正在尝试从本地swf加载本地文件。您的方案可以修复此错误。

在FlashDevelop中,将“使用网络服务”设置为false(项目属性 - >编译器选项选项卡)。这将阻止您的瑞士法郎访问互联网,但会让您加载本地文件。将其设置为true将允许Internet访问但不能访问本地文件。

在Flash中,该设置位于“发布设置”下的“Flash”标签下。它被称为“本地回放安全性”,设置为“仅访问本地文件”或“仅访问网络”。它与FlashDevelop中的设置相同,只是一个不同的名称。

您还可以使用Adobe的免费+开放Local Content Updater在发布/编译后切换swf文件的“使用网络”标志。

答案 1 :(得分:4)

您正在加载本地文件,这是不允许的。但是,当你正在开发这个时,你当然可以允许这个。

将您的项目文件夹添加到受信任位置:http://www.macromedia.com/support/documentation/en/flashplayer/help/settings_manager04.html

编辑:我可能会补充说,如果你在禁用网络的情况下运行它,它将起作用(这是出于开发目的)。例如,当您从Flash IDE运行它时会发生这种情况,这可以解释它之前可能有用的原因吗?

答案 2 :(得分:2)

尝试通过Web浏览器运行SWF时,无法加载桌面文件。 Flash不允许您访问本地硬盘驱动器,因为这将是一个主要的安全问题。您必须将这些文件放在某个服务器上,并将Flash传递给直接URL。

答案 3 :(得分:0)

行。我通过使用FlashDevelop内置的flashplayer发布它来实现它(我不知道如何更好地描述它)。我无法使用Antti建议的安全设置。