如何在Flex中获取有关用户浏览器的信息?

时间:2009-04-13 21:10:32

标签: flex actionscript-3

我想知道用户使用什么浏览器来查看我的Flex应用程序。如何获取用户代理字符串和其他信息?

3 个答案:

答案 0 :(得分:10)

您可以在AS3代码中“嵌入”您的javascript,如下所示:

var v : String = ExternalInterface.call("function(){return navigator.appVersion+'-'+navigator.appName;}");
var t : TextField = new TextField();
t.autoSize = TextFieldAutoSize.LEFT;            
addChild(t);
t.text = v;

textField将显示关于导航器的信息(铬):

5.0(Windows; U; Windows NT 5.1; en-US)AppleWebKit / 525.19(KHTML,与Gecko一样)Chrome / 1.0.154.53 Safari / 525.19-Netscape

答案 1 :(得分:5)

Javascript可以帮助您进行浏览器检测并找出UserAgent。使用ExternalInterface使Javascript与Flex应用程序通信。这是一个ExternalInterface tutorial

答案 2 :(得分:2)

你的javascript:

function determineBrowser()
{
    // do whatever browser checks you prefer here, then return
    // a value (a string would probably work best) that will indicate
    // to your flash what browser it is

    // I'm just gonna copy and paste an extremely
    // simple one for example purposes

    if(navigator.appName == "Netscape")
    {
        return "Netscape";
    }
    if(navigator.appName == "Microsoft Internet Explorer")
    {
        return "Internet Explorer";
    }

    return "Not IE or Netscape";
}

您的动作脚本:

import flash.external.ExternalInterface;

var browser: String = ExternalInterface.call("determineBrowser");

使用我所做的,无论你的javascript函数返回什么是actionscript中的浏览器变量,所以只要你让javascript确定它就可以得到你需要的任何浏览器数据。

我建议让它比我更健壮,但我只想用足够简短的术语给你基本的想法,以便于消化!