首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >StageWebView、iOS、本地文件

StageWebView、iOS、本地文件
EN

Stack Overflow用户
提问于 2013-02-13 08:49:53
回答 5查看 2.8K关注 0票数 1

我正在使用Flash Builder,Flex 4.6和AIR 3.5为IOS构建一个移动应用程序。我正在研究如何使用StageWebView来呈现一些HTML5内容。

我想要做的是将内容构建到应用程序中,而不是将其放在服务器上。它是相对静态的。但我读到(并确认)应用内文件不能被StageWebView直接使用。但根据建议,我让应用程序将内容复制到一个临时文件夹中,然后为StageWebView创建一个文件:// URL,这似乎是可行的:

代码语言:javascript
复制
//  create the view
var webView:StageWebView = new StageWebView();
webView.stage = this.stage;
webView.viewPort = new Rectangle( 0, 0, stage.stageWidth, stage.stageHeight);

//  copy the HTML5 content to a temp directory
var src:File = File.applicationDirectory.resolvePath("myFolder");
var temp:File = File.createTempDirectory().resolvePath("myFolder");
copyFolderContentsToAnotherFolder(src,temp);

//  what's the URL
var newPath:String = "file://" + temp.nativePath + "/index.html";

//  load it
webView.loadURL(newPath);

这是个坏主意吗?临时文件是否会堆积在我的设备中,无法删除?

我还考虑让应用程序实现一个最小的HTTP服务器,方法是侦听一个端口,并在请求的文件到来时提供数据。这将允许我们将文件从它们在应用程序中的位置提供到StageWebView,而不需要复制。我们在一个桌面air应用程序中做到了这一点,它工作得非常好。但是,这种方法使用ServerSocket,我发现它在移动设备上不受支持。有没有其他方法可以做到这一点?

最后,StageWebView在Flash Builder iOS模拟器中不能很好地工作,这使得调试变得困难。是不是最好直接去拿FB4.7,它(应该)允许我在XCode的iOS模拟器上使用它?

谢谢

EN

回答 5

Stack Overflow用户

发布于 2013-02-14 01:14:01

好吧,看起来我可以直接处理应用程序内的内容,我只需要为它构造一个file:// URL:

代码语言:javascript
复制
var src:File = File.applicationDirectory.resolvePath("myFolder/index.html");
var newPath:String = "file://" + src.nativePath;
webView.loadURL(newPath);
票数 3
EN

Stack Overflow用户

发布于 2013-09-09 07:01:18

我已经很久没有想过这个问题了。但据我回忆,我可以在iOS的应用程序内容中使用,而不需要制作副本。但我今天读到,这在Android上可能是不可能的。

票数 0
EN

Stack Overflow用户

发布于 2013-11-01 09:33:30

似乎当与iOS一起使用时,StageWebView对远程文件的处理效果最好。因此,我使用一些Actionscript代码来实现一个简单的HTTP服务器,提供本地文件。然后,我提供了使用本地主机的StageWebView http和一个端口号。效果很好。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14844652

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档