2013-07-04 1 views
0

Кто-нибудь знает, как передавать данные с javascript на actionscript в flex? Я пробовал метод с участием слушателя LocationChangeEvent в flex, но мне трудно получить измененный URL. Я работаю над проектом Flex Mobile. Пожалуйста помоги.Передача данных с javascript на actionscript

[Изменить] Я работаю над мобильным проектом, где я пытаюсь загрузить html с javascript в нем. Я установил размер StageWebView равным нулю, потому что мне не нужен веб-интерфейс, мне просто нужно загрузить javascript. Оттуда, я пытаюсь отправить данные на мое гибком применение путем изменения document.location внутри JavaScript, как это:

document.location = "mydata"; 

Затем мое прогибается приложение слушает это событие LocationChangeEvent где срабатывают, если произошла смена URL-адреса внутри StageWebView. По какой-то причине я не запускаю.

[Solved] LocationChangeEvent фактически работает в моем случае, но я что-то изменил в javascript.

Я изменил следующие

document.location = "mydata"; 

в

window.location = "mydata"; 
+1

Вы должны объяснить немного больше о своей настройке. Где находится javascript, из которого вы хотите передать данные? Есть ли в браузере? –

ответ

0

Вы могли бы попробовать прослушивание LocationChangeEvent.LOCATION_CHANGING или Event.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. Возможно, вы можете просто добавить свой URL-адрес перенаправления javascript в тело html, когда он загрузится.

Использование StageWebViews для данных на мобильных устройствах может быть немного запутанным. В качестве альтернативы, если у вас есть доступ к серверному коду, вы можете попробовать сделать POST с помощью URLLoader, чтобы получить правильный URL-адрес перенаправления с сервера (таким образом, минуя необходимость в javascript). В вашем полном обработчике URLLoader получите доступ к возвращенным данным из event.currentTarget.data и передайте их в ваше место StageWebView.

+0

Спасибо за ваш ответ. Оказывается, это рабочее решение, но есть один улов для JS. Я изменил document.location на window.location, и я могу обнаружить изменения url. –

4

Вы можете совершать звонки как Actionscript -> Javascript и Javascript -> Actionscript с

ExternalInterface

+0

Извините, я забыл упомянуть, что я работаю над проектом Flex Mobile –