|
|
|||||
Регистрация: Jul 2009
Сообщений: 101
|
javascript через Air
Чего бы хотелось: чего нить наподобие ExternalInterface.callBackup
но под air for android. То есть это apk приложение без всякого браузера. Есть куча javascript-а в облаке, скажем Parse. Есть некий Parse as3 класс, но он жутко кастрирован - ничего кроме обращений к базе он делать не умеет. То есть там нет даже подобия Parse.Cloud.run. Вообщем, хотелось бы запустить яваскрипт на неком сайте и получить ответ напрямую из Air. Смотрел некий StageWebViewBridge, но там проблем больше чем толку, так и не запустился, даже пример. |
|
|||||
Lorem ipsum
|
Попробуй обычный StageWebView.
Грузи в него страницу с необходимыми скриптами. Сообщение будет происходить так: Javascript слышит ActionScript с помощью сбытия onhashchange, когда ты пытаешься из Flash изменить адрес сайта на mysite.com/brigde.html#someCommandFormASToJS. ActionScript слышит Javascript с помощью события LOCATION_CHANGING, когда из Javascript ты пытаешься перейти по адресу mysite.com/brigde.html?someCommandFormJSToAS. Почему в первом случае хеш, а во втором параметры GET-запроса? Ну вот что-то не работает с хешом в обратном направлении. Остальное, полагаю, уже додумаешь: как выделить команду, как передать аргументы и все, что душе угодно.
__________________
Поймай яблоко 2! |
|
|||||
Регистрация: Jul 2009
Сообщений: 101
|
Идейно понятно (кодом потом попробую). Тогда такой вопрос, с локального js файла, то есть webView.loadURL('app:/localfile.js') такой подход будет работать?
То есть если в ответе на такой запрос в js будет location.href = 'localfile.js?returndata=12345' то webView.addEventListener(LocationChangeEvent.LOCATION_CHANGING, function) его услышит? |
|
|||||
Lorem ipsum
|
Пробовал поднимать html локально, но на моем SGT 3 7 не сработало (( отказался. Это самое "неаккуратненькое" место.
Можно еще попробовать loadString().
__________________
Поймай яблоко 2! |
Часовой пояс GMT +4, время: 13:06. |
|
« Предыдущая тема | Следующая тема » |
Опции темы | |
Опции просмотра | |
|
|