Loader-Class - SecurityError: Ошибка № 2000: нет активного контекста безопасности - PullRequest
0 голосов
/ 13 сентября 2011

Я пытаюсь «поймать» эту ошибку при загрузке некоторых изображений.Следующий код - это тестовый пример для моей проблемы, чтобы убедиться, что в окружающем коде нет ошибок.

import flash.events.SecurityErrorEvent;

import flash.display.Loader;
import flash.net.URLRequest;

loadImage ();
function loadImage (): void {
            var _imageLoader = new Loader();
            _imageLoader.contentLoaderInfo.addEventListener(SecurityErrorEvent.SECURITY_ERROR, imageSecurityErrorEventListener);
            var request:URLRequest = new URLRequest("this-image-not-exits.jpg");

            _imageLoader.load(request);
}

function imageSecurityErrorEventListener (e:SecurityErrorEvent) {
    trace ("This is my own trace for the Security Error");
}

Я знаю, что есть много постов и вопросов на www и здесь, но яНе удалось найти ответ на мою проблему.

Я работаю над интерактивным фильмом со многими изображениями и фильмами, которые динамически загружаются в приложение.

В этом фрагменте я сгенерировалхудший случай в моем приложении (попробуйте загрузить изображение, которое не выходит).Когда я запускаю этот код, я получаю след «SecurityError: Ошибка № 2000: Нет активного контекста безопасности», а не след моего слушателя.Ты хоть представляешь, что происходит не так?

1 Ответ

0 голосов
/ 16 ноября 2011

Эта конкретная ошибка безопасности выдается , а не отправляется как ErrorEvent.

. Ее можно обнаружить с помощью блока try...catch вместо:

function loadImage (): void 
{
    var _imageLoader = new Loader();
    _imageLoader.contentLoaderInfo.addEventListener(SecurityErrorEvent.SECURITY_ERROR, imageSecurityErrorEventListener);
    var request:URLRequest = new URLRequest("this-image-not-exits.jpg");

    try
    {
        _imageLoader.load(request);
    }
    catch (error:Error)
    {
        trace("A different error was thrown, not dispatched as an ErrorEvent");
    }
}

Полный список всех ошибок, выданных или отправленных как События, см. На справочной странице по языку Adobe: http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/display/Loader.html#load()

...