2008-11-20 60 views
4

什麼是安全沙箱違規,我如何覆蓋它?我正在FlashDevelop中製作一個項目,而今天,它不會加載外部文件,儘管它以前是。它給出以下輸出:AS3中的安全沙箱

*************安全沙箱違例*********連接到 file:/// C |/Documents% 20and%20Settings/Kevin.PC885314341208/Desktop/Import%20.txt/StockData/1.txt 暫停 - 不允許從 file:/// C | /Documents%20and%20Settings/Kevin.PC885314341208/Desktop/Import% 20.txt/import.swf

我希望這不是一個嚴重的問題。

感謝您的任何幫助。

回答

4

您正在加載本地文件,這是不允許的。然而,當你正在開發這個,你當然可以允許這個。

添加項目文件夾中的受信任位置:http://www.macromedia.com/support/documentation/en/flashplayer/help/settings_manager04.html

編輯:我想補充一點,如果你的網絡禁用它會工作運行(這是發展的目的)。例如,當你從Flash IDE運行它時,會發生這種情況,這可以解釋爲什麼它可能在以前工作過?

+0

從Flash IDE運行swf實際上以特權模式運行:它可以訪問本地和網絡資源。當您在獨立的Flash播放器中運行它時,它只能訪問本地或網絡資源中的一個。 – aaaidan 2008-12-01 02:23:35

0

好的。我通過使用FlashDevelop內置的Flashplayer發佈它來工作(我不知道如何更好地描述它)。我無法使用Antti建議的安全設置。

+0

在FlashDevelop的項目屬性(在編譯器選項選項卡下),有一個設置「使用網絡服務」。如果將此設置爲true,則只能訪問互聯網,而false只允許本地文件。不能同時擁有。 – aaaidan 2008-12-01 02:25:33

+0

它在「內置」播放器中工作的原因是因爲它可能以「特權模式」運行,它允許訪問本地和網絡資源。此模式僅在開發過程中可用,因此您不能依賴它進行部署。 – aaaidan 2008-12-01 02:32:53

2

當您嘗試通過Web瀏覽器運行SWF時,無法加載桌面文件。 Flash不允許您訪問本地硬盤,因爲這將是一個主要的安全問題。您必須將這些文件放在某個服務器上,並將Flash傳遞給一個直接的URL。

11

您發佈的錯誤消息顯示您試圖從本地swf加載本地文件。該錯誤可以爲您的方案解決。

在FlashDevelop中,將「使用網絡服務」設置爲false(項目屬性 - >編譯器選項選項卡)。這會阻止你的swf訪問互聯網,但會讓你加載本地文件。將其設置爲true將允許訪問Internet,但不能訪問本地文件。

在Flash中,該設置位於「發佈設置」,Flash選項卡下。它被稱爲「本地播放安全性」,設置爲「僅訪問本地文件」或「僅限訪問網絡」。它與FlashDevelop中的設置相同,只是名稱不同而已。

您也可以在發佈/編譯後使用Adobe的免費版+打開Local Content Updater來切換swf文件的「使用網絡」標誌。

相關問題