这里 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 );