我必须通过stagewebview在html中显示本地图像文件。 当我在flex应用程序中加载html的url时,文本内容显示正确,但它没有显示图像。我可以通过舞台网页视图中的html加载本地文件吗?
答案 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 );
请注意,您将负责清理该目录。