2013-04-11 50 views
1

I'm得到这个错误,当我尝试加载在StageWebViewBridge容器本地HTML:错误的StageWebViewBridge加载本地HTML

错误#2044:未处理的ErrorEvent :.文本=加载错误。

代码:

private function onDiskCacheEnd(e:StageWebviewDiskEvent):void{ 
    bridge = new StageWebViewBridge(0, 0, 1280, 720); 
    bridge.loadLocalURL('applink://index.html'); 
... 

的index.html位于WWW文件夹。

谢谢!

回答

0

这里StageWebView中不能引用您在使用loadURL给出的URL( ),因为applink是通过文档中的单斜杠获得引用的。但我无法尝试使用applink。 StageWebViewBridge不会在其覆盖受保护的addEventListener函数中处理ErrorEvent。如果您需要处理这个错误事件,你应该添加

override public function addEventListener(type : String, listener : Function, useCapture : Boolean = false, priority : int = 0, useWeakReference : Boolean = false) : void 
    { 
     switch(type) 
     { 
      case ErrorEvent.ERROR: 
      case Event.COMPLETE: 
      case LocationChangeEvent.LOCATION_CHANGING: 
      case LocationChangeEvent.LOCATION_CHANGE: 
      case FocusEvent.FOCUS_IN: 
      case FocusEvent.FOCUS_OUT: 
       _view.addEventListener(type, listener, useCapture, priority, useWeakReference); 
       break; 
      default: 
       super.addEventListener(type, listener, useCapture, priority, useWeakReference); 
       break; 
     } 
    } 

,也需要删除的听众喜欢,

override public function removeEventListener(type : String, listener : Function, useCapture : Boolean = false) : void 
    { 
     switch(type) 
     { 
      case ErrorEvent.ERROR: 
      case Event.COMPLETE: 
      case LocationChangeEvent.LOCATION_CHANGING: 
      case LocationChangeEvent.LOCATION_CHANGE: 
      case FocusEvent.FOCUS_IN: 
      case FocusEvent.FOCUS_OUT: 
       _view.removeEventListener(type, listener, useCapture); 
       break; 
      default: 
       super.removeEventListener(type, listener, useCapture); 
       break; 
     } 
    } 

现在可以处理的ErrorEvent通过

 webView.addEventListener(ErrorEvent.ERROR, onLoadURLErrorTriggered); 

和,你总是最好给文件的URL加载本地html文件,如

 var file : File = new File("file-path"); 
    webView.loadURL(file.url);