2010-05-05 113 views
1

我需要一個幫助......緊急!我試圖很難想出它..但我不能..所以我非常感謝你的幫助..加載外部Swf - 沙盒違規

我正在開發一個使用閃存的空氣應用程序...該應用程序動態加載外部SWF文件通過一個XML ... SWF文件有一個擁有監聽器的電影剪輯(ON單擊)

function mouseDownHandler(event:MouseEvent):void { navigateToURL(new URLRequest(clickURL));

}

一切工作正常,直到我在這個影片剪輯點擊......它顯示了以下消息

的SecurityError:錯誤#2121:安全沙箱衝突:的navigateToUrl:http://www.mydomain.com/maskot/avatar.swf不能訪問的YAHOO.COM例。這可以通過調用Security.allowDomain解決。

任何幫助!因爲我真的有期限!

非常感謝!

回答

0
This may be worked around by calling Security.allowDomain. 

閱讀錯誤。

+0

我怎麼能添加它!它可能會調用世界上的任何URL ...請告知 – 2010-05-06 05:46:02

1

其實Security.allowDomain不會工作,因爲我們正在談論AIR。
這個鏈接搜索周圍提供了一個可能的答案:http://code.google.com/p/maashaack/wiki/ApplicationDomain

var context:LoaderContext = new LoaderContext(false, AD); 
context.allowLoadBytesCodeExecution = true; 
loader.loadBytes(urlloader.data, context); 
1

Securit.allowDomain這裏無關緊要,因爲這是唯一的指示,而其他主權財富基金/應用程序可以位於從訪問你的應用程序。

你試圖做的是一個安全違規行爲,並沒有直接的解決方法。在您的主應用程序,一旦外部SWF加載它添加一個事件偵聽到您的按鈕

  1. vazor的想法
  2. 寫代碼,然後從你的處理程序,它存在於呼叫的navigateToUrl:但你可以嘗試幾件事情主應用程序。我試過這種方法,它的工作原理。如果您需要,也可以從外部swf加載實際的URL。

除非你的最後期限是4年以上,今後這個答案可能不是有用...