2013-07-04 23 views
0

有誰知道如何從javascript傳遞數據給彎曲動作?我已經嘗試過在Flex中涉及LocationChangeEvent偵聽器的方法,但我無法獲取更改的URL。我正在開發一個Flex移動項目。請幫忙。從JavaScript傳遞數據的ActionScript

[編輯] 我在移動項目中,我試圖加載在它的JavaScript一個HTML工作。我將StageWebView的大小設置爲零,因爲我不需要Web界面,我只需要加載JavaScript。從那裏,我試圖通過修改的JavaScript這樣裏面的document.location將數據發送到我的Flex應用程序:

document.location = "mydata"; 

然後,我的Flex應用程序偵聽此事件的LocationChangeEvent在那裏的時候,如果有觸發已經在StageWebView中發生了URL的變化。出於某種原因,我不會觸發。

[解決] 的的LocationChangeEvent在我的情況下,實際工作,但我沒有改變在JavaScript的東西。

我改變了以下

document.location = "mydata"; 

window.location = "mydata"; 
+1

你應該解釋一點關於您的設置。你想從哪裏傳遞數據?是在瀏覽器中? –

回答

0

你可以試試收聽LocationChangeEvent.LOCATION_CHANGINGEvent.COMPLETE您的StageWebView(注意,LOCATION_CHANGE和LOCATION_CHANGING)

var myStageWebView:StageWebView = new StageWebView(); 
myStageWebView.addEventListener(LocationChangeEvent.LOCATION_CHANGING, handler); 
myStageWebView.addEventListener(Event.COMPLETE, onComplete); 

在你改變/變更/完整的處理程序,跟蹤event.target看到的HTML。也許你可以簡單地加載你的JavaScript重定向URL到HTML體。

使用StageWebViews對移動數據可以是一個有點令人費解。或者,如果您有權訪問服務器代碼,則可以嘗試使用URLLoader進行POST以從服務器獲取正確的重定向URL(從而繞過對javascript的需求)。在URLLoader的完整處理程序中,從event.currentTarget.data訪問返回的數據並將其傳遞到StageWebView位置。

+0

謝謝你的回答。事實證明,這是一個可行的解決方案,但JS有一個問題。我將document.location更改爲window.location,並且能夠檢測URL更改。 –

4

您可以撥打電話與ActionScript一樣 - >使用Javascript和Javascript - >的Actionscript與

ExternalInterface

+0

對不起,我忘了提及我正在從事Flex移動項目 –