1

当我尝试在 StageWebViewBridge 容器上加载本地 html 时出现此错误:

错误 #2044:未处理的错误事件:。文本=加载错误。

代码:

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

index.html 位于 www 文件夹中。

谢谢!

4

2 回答 2

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 );
于 2014-05-27T05:56:04.493 回答
0

从未真正尝试过,但文档(https://code.google.com/p/stagewebviewbridge/wiki/ContentLoading)只使用一个斜杠。

所以而不是:'applink://index.html'

文档使用:“applink:/index.html”

于 2014-02-25T02:03:51.973 回答