2010-01-11 48 views
1

嘿我想要構建這個簡單的調試器類,所以我可以看到瀏覽器控制檯內的閃存變量,如果我在閃存ide內測試它,我會得到很好的舊示蹤器。但由於某種原因ExternalInterface.available返回true裏面的Flash IDE!?爲什麼ExternalInterface在Flash裏面可用

package libs 
{ 
    import flash.external.ExternalInterface; 

    public class debug 
    { 
     public function tracer(variable:*):void 
     { 
      if(ExternalInterface.available) 
      { 
       if(variable is String) 
       { 
        variable = '"'+variable+'"'; 
       } 
       ExternalInterface.call('console.log(' + variable + ')'); 
      } 
      else 
      { 
       trace(variable); 
      } 
     } 
    } 
} 

回答

5

您可以使用flash.system.Capabilities.playerType,以確定是否在Flash IDE中或不很...

import flash.system.Capabilities; 

if (Capabilities.playerType == 'External') 
    trace("you're in the ide"); 
else 
    trace("you're not in the ide"); 
+0

真棒!謝謝! – antpaw 2010-01-11 13:38:49

2

太棒了,我得和那個一起玩。

爲什麼你如此,如果你正在使用Flash CS4 的原因是因爲在IDE中的舞臺是一個SWF運行, 和3D的東西,骨子裏是從IDE使用的ExternalInterface的 階段SWF調用。

會很酷,破解! 謝謝, 喬治