我想知道用户使用什么浏览器来查看我的Flex应用程序。如何获取用户代理字符串和其他信息?
答案 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确定它就可以得到你需要的任何浏览器数据。
我建议让它比我更健壮,但我只想用足够简短的术语给你基本的想法,以便于消化!