2011-07-20 5 views
-1

私は非常に奇妙な問題があります。 私はWindows 7 64ビットで非常に単純なフレックスアプリケーションを開発しています。 これは、ユーザーのURLを取得し、それを示しています。私のWindowsの64ビットマシン(クロム、FF)にフレックスでMac OSユーザーのブラウザURLを取得できません

public var bm:IBrowserManager; 
    protected function button1_clickHandler(event:MouseEvent):void{ 
     bm= BrowserManager.getInstance(); 
     bm.init(); 
     Alert.show("Your URL is : " + bm.url); 
    } 

は、それが正常に動作し、URLを返します。 しかし、私は、Mac OS Xマシン上で私のプロジェクト(サファリ、クロム、FF)実行すると:それは示しています

Alert.show(Your URL is : Null); 

を私はそれは、ブラウザのインス​​タンスを取得することができないか、ブラウザマネージャを初期化することができないと思います。 私は分かりません。

これは既知の問題ですか?それはOSに関連していますか?回避策はありますか?

ありがとうございました

+0

この点は何ですか?また、この質問は何度も繰り返されてきました。投稿する前に検索してください。 –

+0

[Flex 3の現在のページのURLを取得しますか?](http://stackoverflow.com/questions/1425141/get-url-of-current-page-from-flex-3) –

+0

@J_A_X:慎重に質問を読む? URLを取得する方法はわかっていますが、Mac OSではnull文字列を返します。 – Zakaria

答えて

0

あまりにも前にブラウザマネージャに問題があることを覚えています。関数呼び出しの外でgetInstance()を移動してみてください。私はそれを固定して覚えていると思います。

すなわち

public var bm:IBrowserManager = BrowserManager.getInstance(); 
protected function button1_clickHandler(event:MouseEvent):void{ 
    bm.init(); 
    Alert.show("Your URL is : " + bm.url); 
} 

それが失敗した場合、同様のハンドラのinit()外を移動してみてください。 Macでは非同期である可能性があります。

+0

「init()」をどのように外側に置くのですか? – Zakaria

+0

アプリのcreationcompleteやそのような場所に置くことができます。私は 'public var bm:IBrowserManager = BrowserManager.getInstance();'がうまくいかないと仮定しています。 –

関連する問題