2011-12-14 10 views
0

AIRアプリケーションとWebホスティングJavaScriptとの間で通信するためにStageWebViewBridgeをセットアップしました。しかし、アプリを起動するときに次のエラーがスローされることがあります。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

ああ。これは私の間違いでした。私は、WebページがロードされているときにJS> AS関数を呼び出していました。

コールを無効にすると問題が解決しました。