0

我已成功设置 StageWebViewBridge 以在我的 AIR 应用程序和 Web 托管的 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);

}

有谁知道如何防止错误被抛出?

谢谢,

标记

4

1 回答 1

0

啊。这是我的错误。在加载网页时,我正在调用 JS > AS 函数。

禁用呼叫已解决问题。

于 2011-12-14T15:45:42.753 回答