2011-07-20 43 views
-1

我有一個非常奇怪的問題。 我正在Windows 7 64位上開發一個非常簡單的Flex應用程序。 它檢索用戶的URL,然後顯示它:無法檢索帶有Flex的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); 
    } 

在我的Windows 64位機(鉻,FF),它工作正常,並返回URL。 但是,當我在Mac OS X的機器上運行我的項目(Safari瀏覽器,瀏覽器,FF):它表明:

Alert.show(Your URL is : Null); 

我認爲,它無法檢索瀏覽器實例或無法初始化瀏覽器的經理。 我不知道。

這是一個已知的問題嗎?它與操作系統有關嗎?有沒有解決方法?

謝謝

+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上,它返回一個空字符串。 – 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或類似的地方。我假設'公共變種bm:IBrowserManager = BrowserManager.getInstance();'不起作用。 –

相關問題