1

StageWebViewBridge コンテナにローカル html をロードしようとすると、次のエラーが発生します。

エラー #2044: 未処理の ErrorEvent:。text=読み込みエラー。

コード:

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

そして、次のようにローカルのhtmlファイルをロードするためにファイルのURLを指定することを常にお勧めします。

     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 ) ではスラッシュが 1 つしか使用されていません。

'applink://index.html' の代わりに

ドキュメントの使用:「applink:/index.html」

于 2014-02-25T02:03:51.973 に答える