Поймать ошибки из ExternalInterface, когда доступ к сценарию не разрешен?

У меня есть SWF, который работает на многих сайтах, большинство из которых разрешают доступ к сценариям. Для тех, кто этого не делает, я пытаюсь поймать ошибки, но безуспешно. (Я также проверяю, является ли ExternalInterface.available истинным, но Flash Player всегда говорит мне, что это так.)

static public function callExternal(str:String):Object {
        var result:*;
        try {
            result = ExternalInterface.available?ExternalInterface.call(str):null;
        } catch (e:Error) {
            log.exception(e);
        }
        return result;
    }

И вот что я получаю в журнале:

SecurityError: Error #2060: Security sandbox violation: ExternalInterface caller 
(my swf) cannot access (some site)

Что я могу сделать, чтобы предотвратить выполнение этого вызова, если у меня нет разрешения, или перехватить ошибку безопасности по факту?

1 ответ

Решение
static public function callExternal( str:String ):void
{
    try
    {
        ExternalInterface.call( str );
    }
    catch( e:SecurityError )
    {
        trace( 'handle no external interface' );
    }
}
Другие вопросы по тегам