通过舞台webview中的HTML页面加载本地文件

时间:2013-05-17 04:02:38

标签: flex flash-builder stagewebview

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

2 个答案:

答案 0 :(得分: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);
}

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

答案 1 :(得分:0)

解决方案涉及将所有必需的文件(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 );

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