StageWebViewBridge прерывистой инициализации - PullRequest
0 голосов
/ 14 декабря 2011

Я успешно настроил StageWebViewBridge для связи между моим приложением AIR и веб-интерфейсом JavaScript.Однако иногда, когда я запускаю приложение, выдается следующая ошибка:

_serializeObject =>___onDomReady
_serializeObject =>fnCalledFromJS
TypeError: Error #1009: Cannot access a property or method of a null object reference.
    at es.xperiments.media::StageWebViewBridgeExternal/parseCallBack()[Flash/es/xperiments/media/StageWebViewBridgeExternal.as:88]
    at es.xperiments.media::StageWebViewBridge/onLocationChange()[Flash/es/xperiments/media/StageWebViewBridge.as:236]

Если приложение запускается успешно, это вывод трассировки.

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

Таким образом, кажется, что регистрация обратного вызова fnCalledFromJSиногда вызывается слишком рано.

Вот последовательность событий в моем коде:

StageWebViewDisk.addEventListener(StageWebviewDiskEvent.END_DISK_PARSING, onInit );
StageWebViewDisk.setDebugMode( false );
StageWebViewDisk.initialize(stage);


function onInit( e:StageWebviewDiskEvent ):void{    
    webView1 = new StageWebViewBridge(19, 43, 400, 262);
    webView1.addEventListener(StageWebViewBridgeEvent.DEVICE_READY, onDeviceReady );    
    webView1.loadURL("http:www.domain.com/ipadMap.php);     
}

function onDeviceReady( e:StageWebViewBridgeEvent ):void {
    webView1.addCallback('fnCalledFromJS', fnCalledFromJS );
    // all is loaded and ok, show the view
    addChild(webView1);

}

Кто-нибудь знает, как предотвратить возникновение ошибки?

Спасибо,

Марк

1 Ответ

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

Ах.Это была моя ошибка.Я вызывал функцию JS> AS во время загрузки веб-страницы.

Отключение вызова устранило проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...