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

标签 flash actionscript browser

我想知道用户在我的 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 );
        }

    }

}

关于flash - 从 Flash 中检测浏览器的类型和版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2294555/

相关文章:

c# - 无法在 C# WebBrowser 中播放任何 YouTube 视频

apache-flex - 如何以慢动作播放 flex 中的视频?

java - Actionscript 游戏/程序与他人联系

flash - 播放带有偏移的Flash声音

javascript - 从浏览器加载文件,无需网络服务器

html - 如何以与 paypal 按钮相同的方式将 .swf 对象链接到 paypal?

css - 扩展菜单不会出现在 Flash 图像上

apache-flex - Actionscript/Flex 中的 XML 作为 XMLNode

javascript - HTML 页面重新加载 - 模拟 CTRL+F5

javascript - IE8 支持哪些 Javascript 版本?