StageWebViewBridge загрузка и связь с онлайн-страницей - PullRequest
1 голос
/ 09 декабря 2011

Удалось ли кому-либо успешно использовать StageWebViewBridge для загрузки и связи с веб-страницей в Интернете?

http://code.google.com/p/stagewebviewbridge/wiki/Communication

Предлагаемая документация и примеры настроены для работы с локальными файлами (которыеработать успешно), и хотя инструкция «включить файл StageWebViewBridge.js» в загруженную HTML-страницу звучит очень прямо, к сожалению, она не работает.

Для тех, кто хочет повторить мой тест, у меня естьзагрузил файлы здесь:

http://www.infin8design.com/clients/stack/swvb.zip

Я в основном загружаю файл 'ExampleCallBackFuncions.html' с веб-сервера.Я включил файл StageWebViewBridge.js следующим образом ...

<script type="text/javascript" src="StageWebViewBridge.js"></script>

Когда я тестирую фильм, я получаю правильные выходные сообщения о настройке

_serializeObject =>___onDomReady
_serializeObject =>___getFilePaths
_serializeObject =>___onDeviceReady
_serializeObject =>fnCalledFromJS

, и страница HTML появляется вокно просмотра.Но после нажатия кнопки, которая должна отправить сообщение в Actionscript, я получаю следующие сообщения об ошибках:

TypeError: Ошибка # 1009: Невозможно получить доступ к свойству или методу пустой ссылки на объект.в es.xperiment.media::StageWebViewBridgeExternal/parseCallBack()[/Users/G5TowerIntel/Desktop/maptest/es/xperiment/media/StageWebViewBridgeExternal.as:88] в es.xperiment.media::StageWebViewBridge/onLocationChanUsers / G5TowerIntel / Desktop / maptest / es / xperiment / media / StageWebViewBridge.as: 236]

Моя цель - отправить сообщение обратно в ActionScript со страницы html.

Спасибо,

Марка

Ответы [ 2 ]

2 голосов
/ 10 декабря 2011

Вы делаете что-то неправильно в своем коде ....

Вы должны прослушать событие DEVICER_READY, прежде чем делать какие-либо сообщения между as3 и js и наоборот ...

// listen StageWebViewBridgeEvent.DEVICE_READY event to be sure 
// the communication is ok
view.addEventListener(StageWebViewBridgeEvent.DEVICE_READY, onDeviceReady );

// add a callback method for the function we like to call from Javascript
view.addCallback('fnCalledFromJS', fnCalledFromJS );

// load the localfile demo.html ( inside the www dir )
view.loadLocalURL('http://www.someserver.com/ExampleBasic.html');

Вы можете взять мой ExampleBasic и изменить строку на:

view.loadLocalURL ( 'AppLink: /ExampleBasic.html');

до

view.loadURL ( 'http://localhost/ExampleBasic.html');

Затем в html-файл сервера добавьте строку со ссылкой на файл .js

Должно работать ...

Скажи мне ...

0 голосов
/ 10 декабря 2011

Успех!Вот AS3, который я использовал ...

public var webView1:StageWebViewBridge;

public function Main() {            
StageWebViewDisk.addEventListener(StageWebviewDiskEvent.END_DISK_PARSING, onInit );
StageWebViewDisk.setDebugMode( true );
StageWebViewDisk.initialize(stage);
}

function onInit( e:StageWebviewDiskEvent ):void {
trace("onInit");
webView1 = new StageWebViewBridge(60, 60, 400, 262);
webView1.addEventListener(StageWebViewBridgeEvent.DEVICE_READY, onDeviceReady );
webView1.loadURL("http://www.domain.com/ExampleCallBackFuncions.html");
}

function onDeviceReady( e:StageWebViewBridgeEvent ):void {
trace("onDeviceReady"); 
webView1.addCallback('fnCalledFromJS', fnCalledFromJS );
addChild(webView1);

}

И пример файла ExampleCallBackFuncions.html был изменен для включения файла StageWebViewBridge.js, например, так ...

<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>example</title>
<script type="text/javascript" src="StageWebViewBridge.js"></script>
...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...