2009-04-13 21 views

答えて

5

Javascriptはブラウザの検出とUserAgentの把握に役立ちます。 ExternalInterfaceを使用して、Javascriptをフレックスアプリケーションと会話させます。ここにExternalInterface 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:

あなたが任意のブラウザを得ることができるので、ActionScriptのブラウザの変数がどうなるかであるものは何でも、あなたのjavascript関数の戻り、私が何をしたか使用
import flash.external.ExternalInterface; 

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

あなたが必要とするデータは、あなたがjavascriptでそれを決定させる限りです。

私はそれよりも少し頑強にすることをお勧めしますが、私はちょうどあなたが消化しやすいように十分に短い言葉で基本的な考えを伝えたいと思っていました!

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; 

テキストフィールドには、このようなナビゲーター(クローム)程度に関する情報が表示されます。

5.0(Windowsの場合; U; WindowsのNT 5.1; en-US)AppleWebKit/525.19(GeckoのようなKHTML)Chrome/1.0.154.53 Safari/525.19-Netscape

+0

それは悪い考えではありません。 – DyreSchlock

関連する問題