2011-04-21 39 views
0

我需要以某种方式将Flash网站合并到一个可执行文件中。将Flash网站合并到一个可执行文件中

网站包括: 的index.html 图像0​​声音 PDF文件 等

点击合并文件后,需要的index.html打开。

这可能吗?

=====================================

Adob​​e AIR的可能是有用的为此,但我只能创建安装程序可执行文件,也许有可能创建只是可执行文件?

回答

1

在OS X上,您可以将它编译到一个.app文件中,该文件是一个特殊的文件夹,类似于单个可执行文件。我想这在每个平台上都会有所不同,也许最好的解决方案是寻找一些跨平台的框架,它也可以捆绑基于WebKit的浏览器视图,因此您不必处理不同的浏览器以及它们如何访问外部每个平台上的文件。

写完这些之后,AIR可能会捆绑文件,并且它有一个可以显示HTML内容的StageWebView控件(不确定是否显示Flash内部)。

2

您可以将任意数量的文件打包到AIR应用程序中(尽管出口时间可能会大幅增加)。您无法创建'just'可执行文件,因为需要安装AIR应用程序,HTMLLoader无论如何都需要单独的页面和图片文件。基本上,所有你需要做的是:

  • 创建AIR与MX:HTML为主要内容的
  • 点的mx:HTML到应用程序:/index.html
  • 确保你的网站文件嵌入集体进入安装程序(将它们放到src目录中)

对于要在浏览器中工作的pdf文件,用户需要安装Acrobat。 Flash内容应该在mx:HTML内工作。 更新:
隐藏用户的所有文件都比较困难。我做了类似的事情,不是整个网站,而是嵌入式页面和链接的应用程序。
您的所有内容都可以打包到一些zip文件中(不在exe中,即使本机AIR应用程序也无法自定义它的exe包装器)。如果您愿意,甚至可以对每个文件进行加密。问题是链接和文件(图片,样式和脚本)
我解决了数据URI方案的图片问题(请参阅我的question - 自我回答 - 关于此问题)。我认为其他文件也可以用这种方式嵌入。
要使链接正常工作,您需要监听Event.LOCATION_CHANGE。新的位置会告诉HTML控制想要去(它将无法找到页面),解压缩相应的页面并将其设置为htmlText。 所以,如果你真的想嵌入的一切,这就是我会做:

  • 包所有文件到一个zip文件,使用某些库与非连续拉链访问后解压(我用coltware的airxzip)
  • 制作页面服务系统。这包括解压缩页面,扫描已用文件(css,js,图片),解压缩文件,将其转换为base64以及使用data:URI模式嵌入到页面中。如果您的文件不是(或很少)在页面之间共享,则可以在包装和使用之前嵌入它们。我不知道Webkit是否通过这个协议支持JavaScript,即使没有,你也可以把它转换成基于文本的脚本。
+0

安装.air后,我有我的所有文件就像之前打包,但我需要以某种方式隐藏所有我的文件从用户(当然除了可执行文件)。 – ieaglle 2011-04-21 14:08:41

相关问题