2009-04-13 3 views

ответ

5

Javascript может помочь вам обнаружить браузер и выяснить UserAgent. Используйте ExternalInterface, чтобы включить Javascript в ваше приложение flex. Вот внешний интерфейс tutorial.

+0

Есть ли способ сделать это в Flex? Или маршрут EI мой единственный вариант? – DyreSchlock

+0

AFAIK, нет встроенного класса Flex для непосредственного получения данных браузера. Также взгляните на этот пример Я склонен думать, что JS + AS - это путь. – dirkgently

+0

Было бы нецелесообразно раскрывать его в Flex, поскольку приложения Flex не обязательно размещаются в браузере. – Tmdean

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

Ваш Actionscript:

import flash.external.ExternalInterface; 

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

Используя то, что я сделал, независимо от вашего Java-функция возвращает то, что переменная браузера в ActionScript будет, так что вы можете получить любой браузер данные, которые вам нужны, пока вы определяете javascript.

Я рекомендую сделать его немного более надежным, чем я, но я просто хотел дать вам базовую идею в кратчайшие сроки, чтобы ее было легко усвоить!

10

вы можете 'встроить' ваш JavaScript в AS3 кода, как это:

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; 

текстовое поле будет отображаться Infos о навигаторе, как этот (хром):

5.0 (Windows; U; Windows, NT 5.1, en-US) AppleWebKit/525.19 (KHTML, например, Gecko) Chrome/1.0.154.53 Safari/525.19-Netscape

+0

это неплохая идея. – DyreSchlock

Смежные вопросы