簡體   English   中英

Actionscript 3、flex:如何知道你當前使用的是哪個瀏覽器?

[英]Actionscript 3, flex: How to find out which is browser you are currently in?

我需要通過 flex mxml 應用程序中的 AS3 檢測我所在的瀏覽器 - FF、Chrome、IE 等,只有名稱和版本。 怎么做這樣的事情?

是的,您將使用 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)

如果您有任何問題,請告訴我!

如果您在 Flash 庫中使用某些客戶端 JavaScript 和 ExternalInterface class ,這並不難。

這是一個簡短的教程: http://codingrecipes.com/calling-a-javascript-function-from-actionscript-3-flash

您的 JS 需要運行瀏覽器客戶端檢查。

根據我的研究, navigator.appName將為瀏覽器返回字符串Netscape ,例如:IE11、Firefox、Chrome 和 Safari。 檢查這個。

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

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";
}

參考: 使用 as3 檢查訪問者操作系統和瀏覽器

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM