2011-07-10 32 views

回答

7

是的,你要使用JavaScript,但你實際上不需要把JavaScript放在頁面中。

這裏是正從你的Flex應用程序,信息無所添加到包含HTML頁面的快速腳本示例:

<?xml version="1.0"?> 
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
      xmlns:s="library://ns.adobe.com/flex/spark" 
      xmlns:mx="library://ns.adobe.com/flex/mx" 
      creationComplete="creationCompleteHandler(event)"> 
<fx:Script> 
    <![CDATA[ 
     import mx.events.FlexEvent; 

     protected function creationCompleteHandler(event:FlexEvent):void 
     { 
      var appName : String = String(ExternalInterface.call("function(){return navigator.appName}")); 
      var appVersion : String = String(ExternalInterface.call("function(){return navigator.appVersion}")); 
      var userAgent : String = String(ExternalInterface.call("function(){return navigator.userAgent}")); 
      trace(appName) ; 
      trace(appVersion); 
      trace(userAgent); 
     } 

    ]]> 
</fx:Script> 

這痕跡信息輸出到控制檯,因此,例如,當我運行它我得到:

Microsoft Internet Explorer 
4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; GTB6.6; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.2; .NET4.0C; .NET4.0E) 
Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; GTB6.6; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.2; .NET4.0C; .NET4.0E) 

讓我知道如果您有任何問題!

+0

感謝接受。附: userAgent是關閉瀏覽器嗅探的最可靠的工具。 :) – Nate

+0

'navigator.appName'返回'Netscape'而不是瀏覽器名稱。 –

0

根據我的研究navigator.appName將針對IE11,Firefox,Chrome和Safari等瀏覽器返回字符串Netscape。檢查this.

如果你想檢測瀏覽器的名稱試試這個:

var browserName:String; 
var userAgent:Object = ExternalInterface.call("window.navigator.userAgent.toString"); 

if(userAgent.toLowerCase().indexOf("chrome") !== -1) 
{ 
browserName = "Chrome"; 
} 

if(userAgent.toLowerCase().indexOf("mozilla") !== -1) 
{ 
browserName = "Mozilla"; 
} 

if(userAgent.toLowerCase().indexOf("safari") !== -1) 
{ 
browserName = "Safari"; 
} 

參考:check visitor OS & Browser using as3

相關問題