代码之家  ›  专栏  ›  技术社区  ›  DyreSchlock

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

  •  5
  • DyreSchlock  · 技术社区  · 17 年前

    3 回复  |  直到 17 年前
        1
  •  10
  •   OXMO456    17 年前

    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;
    

    文本字段将显示有关导航器的信息,如下所示(chrome):

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

        2
  •  5
  •   dirkgently    17 年前

    Javascript可以帮助您检测浏览器并找出用户代理。使用ExternalInterface使Javascript与flex应用程序对话。这是一个外部接口 tutorial .

        3
  •  2
  •   Bryan Grezeszak    17 年前

    您的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确定,您就可以获得所需的任何浏览器数据。