从Flash中检测浏览器的类型和版本

时间:2010-02-19 06:47:44

标签: flash actionscript browser

我想知道用户在我的Flex 4应用程序中运行的浏览器的类型和版本。我知道我可以通过使用ExternalInterface来调用Javascript来获取该信息。我知道我可以从服务器获取该信息。

我正在寻找一种直接从actionscript获取信息的方法。我的意思是,是不是存在全局变量或保留此信息的东西?

1 个答案:

答案 0 :(得分:9)

你不能,因为你没有提到任何全局变量。

但是没有使用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 );
        }

    }

}