0

我必须通过 stagewebview 在 html 中显示本地图像文件。当我在 flex 应用程序中加载 html 的 url 时,文本内容正确显示,但它没有显示图像。有什么方法可以在舞台 web 视图中通过 html 加载本地文件?

4

2 回答 2

1

该解决方案涉及将所有必要的文件(html、图像、css)复制到存储目录,然后在其中调用您的 html。图像和 CSS 的 URL 将相对于该目录。

此代码显示如何将调用的整个目录的内容复制html到该存储目录中,然后加载test.html到您的 StageWebView 对象中。

        var source:File = File.applicationDirectory.resolvePath("html/") ;
        var destination:File = File.applicationStorageDirectory;
        source.copyTo(destination, true);
        var initialURL = new File(destination.resolvePath("test.html").nativePath).url;
        webView.loadURL( initialURL );

请注意,您将负责清理该目录。

于 2014-03-28T12:04:51.277 回答
0

您可以使用文件类加载本地 HTML 文件。所以它会是这样的:

var _locaWebFile:File = File.documentsDirectory.resolvePath(pathToHTMLContent);     
var _webview:StageWebView = new StageWebView();
_stage.scaleMode = StageScaleMode.NO_SCALE;
_webview.stage = _stage;
_webview.loadURL(_localWebFile.url);
_webview.addEventListener(flash.events.Event.COMPLETE, loadData);

function loadData(e:Event):void
{
  _webview.viewPort = new Rectangle(0, 0, _stage.stageWidth, _stage.stageHeight);
}

此外,您可能必须确保图像的路径正确。

于 2013-05-17T09:44:24.150 回答