Ошибка загрузки локального HTML на StageWebViewBridge

Я получаю эту ошибку при попытке загрузить локальный HTML-код в контейнер StageWebViewBridge:

Ошибка № 2044: необработанный ErrorEvent:. текст = ошибка загрузки.

код:

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

index.html находится в папке www.

Спасибо!

2 ответа

На самом деле никогда не пробовал, но в документации ( https://code.google.com/p/stagewebviewbridge/wiki/ContentLoading) используется только один слеш.

Так что вместо: 'applink://index.html'

документы используют: "applink:/index.html"

Здесь StageWebView не может ссылаться на URL, который вы указали в loadURL(), потому что applink - это ссылка, полученная через косую черту в документе. Но я не мог попробовать с applink. StageWebViewBridge не обрабатывает ErrorEvent в своей функции addEventListener, защищенной от переопределения. Если вам нужно обработать это событие ошибки, вы должны добавить

    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 );
Другие вопросы по тегам