2013-09-25 38 views
0

我有许多网站上运行的swf,其中大部分都允许脚本访问。对于那些不这样做,我试图抓住错误,但没有运气。 (我也检查,看看是否ExternalInterface.available是真实的,但Flash播放器总是告诉我,它是。)当不允许脚本访问时从ExternalInterface捕获错误?

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) 

我可以做些什么来阻止我在没有权限的情况下进行此调用,或者在事后才能发现安全错误?

回答

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

替换e:错误e:SecurityError显式侦听安全错误。 –

+0

感谢Will编辑。 +1。 – Ribs

+0

哇,我发誓我尝试过,它不工作。但现在是。 – Seanonymous

相关问题