不允许脚本访问时从ExternalInterface捕获错误?

时间:2013-09-25 23:11:20

标签: actionscript-3 try-catch externalinterface

我有一个在许多站点上运行的swf,其中大多数都允许脚本访问。对于那些没有的人,我试图抓住错误但没有运气。 (我还要检查ExternalInterface.available是否为true,但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 个答案:

答案 0 :(得分:0)

static public function callExternal( str:String ):void
{
    try
    {
        ExternalInterface.call( str );
    }
    catch( e:SecurityError )
    {
        trace( 'handle no external interface' );
    }
}