我必须通过stagewebview在html中显示本地图像文件。当我在flex应用程序中加载html的url时,文本内容显示正确,但它不显示图像。有什么方法可以在网页视图中通过html加载本地文件吗?
解决方案包括将所有必要的文件(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 );
请注意,您将负责清理该目录。
您可以使用file类加载本地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);
}
另外,您可能必须确保您的图像路径是正确的