2011-12-14 79 views
0

我已成功设置StageWebViewBridge以在我的AIR应用程序和Web托管JavaScript之间进行通信。然而有时,当我启动应用程序时引发以下错误:StageWebViewBridge间歇初始化

_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); 

} 

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

感谢,

马克

回答

0

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

禁用通话已解决该问题。