BrowserCommunicationUtility.as

Go to the documentation of this file.
00001 import flash.external.ExternalInterface;
00002 
00003 import gugga.utils.DebugUtils;
00004 
00008 class gugga.utils.BrowserCommunicationUtility 
00009 {
00010         public static function openUrl(aUrl : String, aTarget : String) : Void
00011         {
00012                 if(aUrl.indexOf("javascript:") == 0)
00013                 {
00014                         var functionCallExpression : String = aUrl.substring(11);
00015                         makeWeakJSFunctionCallByExpression(functionCallExpression);
00016                 }
00017                 else
00018                 {
00019                         getURL(aUrl, aTarget);
00020                 }
00021         }
00022         
00023         public static function makeWeakJSFunctionCall(aFunctionName : String, aArguments : Array) : Void
00024         {
00025                 var functionCallExpression : String = aFunctionName + "(";
00026                 for (var i : Number = 0; i < aArguments.length; i++)
00027                 {
00028                         var arg : Object = aArguments[i];
00029                         if(arg instanceof Number)
00030                         {
00031                                 functionCallExpression += arg.toString();
00032                         }
00033                         else
00034                         {
00035                                 functionCallExpression += ("'" + arg.toString() + "'");
00036                         }
00037         
00038                         if(i < aArguments.length - 1)
00039                         {
00040                                 functionCallExpression += ",";
00041                         }
00042                 }
00043                 functionCallExpression += ");";
00044                 
00045                 makeWeakJSFunctionCallByExpression(functionCallExpression);
00046         }
00047         
00048         public static function makeWeakJSFunctionCallByExpression(aFunctionCallExpression : String) : Void
00049         {
00050                 if(ExternalInterface.available)
00051                 {
00052                         ExternalInterface.call("window.setTimeout", aFunctionCallExpression, 10);
00053                 }
00054                 else
00055                 {
00056                         getURL("javascript:" + aFunctionCallExpression);
00057                 }       
00058         }
00059 }

Generated on Fri May 11 17:12:42 2007 for GuggaFramework by  doxygen 1.5.2