Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Flash Приложения: AIR, Zinc и тд. (http://www.flasher.ru/forum/forumdisplay.php?f=94)
-   -   javascript через Air (http://www.flasher.ru/forum/showthread.php?t=209343)

uchenik12345 01.11.2014 00:35

javascript через Air
 
Чего бы хотелось: чего нить наподобие ExternalInterface.callBackup
но под air for android. То есть это apk приложение без всякого браузера.

Есть куча javascript-а в облаке, скажем Parse. Есть некий Parse as3 класс, но он жутко кастрирован - ничего кроме обращений к базе он делать не умеет. То есть там нет даже подобия Parse.Cloud.run. Вообщем, хотелось бы запустить яваскрипт на неком сайте и получить ответ напрямую из Air.
Смотрел некий StageWebViewBridge, но там проблем больше чем толку, так и не запустился, даже пример.

Zebestov 01.11.2014 16:04

Попробуй обычный StageWebView.
Грузи в него страницу с необходимыми скриптами.
Сообщение будет происходить так:

Javascript слышит ActionScript с помощью сбытия onhashchange, когда ты пытаешься из Flash изменить адрес сайта на mysite.com/brigde.html#someCommandFormASToJS.

ActionScript слышит Javascript с помощью события LOCATION_CHANGING, когда из Javascript ты пытаешься перейти по адресу mysite.com/brigde.html?someCommandFormJSToAS.

Почему в первом случае хеш, а во втором параметры GET-запроса? Ну вот что-то не работает с хешом в обратном направлении.
Остальное, полагаю, уже додумаешь: как выделить команду, как передать аргументы и все, что душе угодно.

uchenik12345 01.11.2014 23:00

Идейно понятно (кодом потом попробую). Тогда такой вопрос, с локального js файла, то есть webView.loadURL('app:/localfile.js') такой подход будет работать?
То есть если в ответе на такой запрос в js будет location.href = 'localfile.js?returndata=12345' то
webView.addEventListener(LocationChangeEvent.LOCATION_CHANGING, function) его услышит?

Zebestov 02.11.2014 02:06

Пробовал поднимать html локально, но на моем SGT 3 7 не сработало (( отказался. Это самое "неаккуратненькое" место.
Можно еще попробовать loadString().


Часовой пояс GMT +4, время: 23:24.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.