2011-05-15 29 views
1

我在爲我的網站在Flash中寫MP3播放器。它需要首先加載xml文件(從外部來源)與.mp3信息然後.mp3文件。我使用URLLoader.load來加載xml文件。意外的安全問題 - 本地在瀏覽器與服務器對比

當我在瀏覽器(從本地源)運行我的.swf時,它會拋出SecurityException,所以我必須編輯Global Security Settings添加文件的路徑,它的工作原理。當我上傳到服務器上,並從服務器運行,它也拋出SecurityError,但我不知道編輯全局安全設置是否會有所幫助(或者說爲什麼它不工作,我試圖添加所有可能的路徑和它不工作)。

有沒有解決方法? 乾杯

回答

2

如果在遠程服務器上放置跨域文件不是一個選項,那麼您需要使用您在服務器上調用的代理腳本(例如PHP)。然後,它可以加載XML而不用擔心Flash的安全沙箱,Flash認爲它收到的XML來自服務器。

1

您需要設置一個跨域策略文件。請檢查security chapter from programming as3。從左側面板選擇Programming ActionScript 3.0 -> Flash Player security -> Loading data

+0

東西是外部源不是我的www,所以我不能把crossdomain.xml放在那裏。所以我認爲這種類型的行爲是允許在本地www通信和不允許www-www通信?那麼解決方案可能是其他編程語言的代理?在flash/as3中沒有解決方案? – f1ames 2011-05-15 13:29:27

+0

你是什麼意思?有許多與服務器通信的Flash遊戲。您正在尋找這種類型的加載數據嗎? – taskinoor 2011-05-15 13:35:26

+0

我的意思是,當我的.swf嵌入在www網站上時,它不能從沒有crossdomain.xml(帶有許可證)的網站上從另一個www(不是我的)下載.xml文件? – f1ames 2011-05-15 13:56:55

相關問題