Я хочу знать тип и присвоить версию браузеру, который пользователь выполняет из моего приложения Flex 4. Я знаю, что могу получить ту информацию при помощи ExternalInterface для вызова JavaScript. Я знаю, что могу получить ту информацию с сервера.
Я ищу способ получить ту информацию непосредственно от actionscript. Я имею в виду, не там глобальная переменная или что-то, что хранит эту информацию?
Вы не можете, поскольку у вас нет глобального переменные, как вы упомянули.
Но почему не использовать ExternalInterface и JavaScript ?.
var method:XML = <![CDATA[
function( ){
return { appName: navigator.appName, version:navigator.appVersion};}
]]>
var o:Object = ExternalInterface.call( method );
trace( "app name ",o.appName,"version ", o.version )
Если вы поместите его в класс как статический метод, для вас это будет так же прозрачно, как вызов внутреннего класса ...
package {
import flash.external.ExternalInterface;
public class BrowserUtils {
private static const CHECK_VERSION:XML = <![CDATA[
function( ) {
return { appName: navigator.appName, version:navigator.appVersion };
}
]]>;
public static function getVersion( ):Object {
if ( !ExternalInterface.available ) return null;
return ExternalInterface.call( CHECK_VERSION );
}
}
}