Security SWF安全性错误:错误#2000:没有活动的安全上下文

Security SWF安全性错误:错误#2000:没有活动的安全上下文,security,flash,Security,Flash,嗨 我有一个flash图像库,工作得很好,直到几天之后它才停止加载图像。调试器抛出以下错误: SecurityError: Error #2000: No active security context. 有人能解释一下原因吗?您的图像扩展是否发生了变化,可能是从like.jpg变为.jpg还是什么 通常,如果您的外部介质出现问题,则会调用此命令。这里有一个解决方法,但我通常会尝试解决,而不是让它消失 setTimeout( function():void{fileReference.load

嗨 我有一个flash图像库,工作得很好,直到几天之后它才停止加载图像。调试器抛出以下错误:

SecurityError: Error #2000: No active security context.

有人能解释一下原因吗?

您的图像扩展是否发生了变化,可能是从like.jpg变为.jpg还是什么

通常,如果您的外部介质出现问题,则会调用此命令。这里有一个解决方法,但我通常会尝试解决,而不是让它消失

setTimeout( function():void{fileReference.load();}, 1);

希望这有帮助。

我遇到了这个问题,并使用了上面的setTimeout示例,但目的略有不同。我正在调用一个php脚本,该脚本在Twitter上运行,并且在FlashDebugPlayer中遇到了同样的安全问题。我只是想添加我的示例,它建立在上面的基础上,以展示如何将此“变通方法”用于URLLoader和fileReference

var myXMLLoader:URLLoader = new URLLoader(); 

var urlStr:String = "http://www.yourdomain.com/php/twitter.php"; 
var myVariables:URLVariables = new URLVariables();
myVariables.twitterID = "yourtwitterID";

var myURLRequest:URLRequest = new URLRequest(urlStr)
myURLRequest.data = myVariables;

setTimeout(function():void {  myXMLLoader.load( myURLRequest ); }, 1);

myXMLLoader.addEventListener(Event.COMPLETE, onXMLLoadHandler);

针对不利因素:


在AS3中,需要导入flash.utils.setTimeout。setTimeout的语法是
setTimeout(A,B,…rest)

其中,B是之后要调用的函数, A是以毫秒为单位的延迟(例如,1000秒) C是需要为函数提供的任意数量的参数,用逗号分隔

例如


我以前遇到过这个问题,最后的结论与错误的图像路径或名称有关

您需要处理错误:

loader.contentLoaderInfo.addEventListener(HTTPStatusEvent.HTTP_STATUS, onHTTPError);
protected function onHTTPError(e:HTTPStatusEvent):void{
     trace("HTTPError"+e.status);
}

这样,它将处理错误并正常工作。

在加载路径位于外部XML文件中的图像时,我遇到了这个问题。所以我加载XML并从中获取路径,但我遇到的问题是,我加载了30多个图像,错误只出现了6次。。我不知道哪些文件位置是坏的

如果您希望flash发布更多信息,而不仅仅是:

SecurityError: Error #2000: No active security context.
将此事件侦听器添加到加载程序:

loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
最后,这个函数:

protected function ioErrorHandler(e:IOErrorEvent):void{
    trace(e.text);
}
有了此选项,您的安全错误将转换为您提供的文件位置的未找到URL错误。有了这些信息,您应该更容易调试问题

Error #2035: URL Not Found. URL: file:////Volumes/Macintosh%20HD/Users/cleanshooter/Documents/Website%20/here/there/everywhere/30805/filename.jpg

您正在加载来自同一域的图像吗?您好。首先谢谢。关键是当我在本地加载swf时。我从服务器获取图像时没有任何问题。它只发生在网站上。第二件事是,我在其他oage网站上也有类似的图库,而且效果很好。就像gAMBOOK问的,你是从同一个域加载图像吗?好的。这是另一个问题。现在图像正在加载,但我仍然得到了那个错误,你的代码修复了这个错误。这是AS2吗?我在AS3中找不到setTimeout函数。你知道如何在3分钟内完成吗?
Error #2035: URL Not Found. URL: file:////Volumes/Macintosh%20HD/Users/cleanshooter/Documents/Website%20/here/there/everywhere/30805/filename.jpg