我需要以某种方式将闪存站点合并到一个可执行文件中。
网站包括: index.html 图片 声音 pdf 等。
单击合并文件后,需要打开 index.html。
这可能吗?
======================================
Adobe AIR 可能对此有用,但我只能创建 setup 可执行文件,也许可以只创建可执行文件?
我需要以某种方式将闪存站点合并到一个可执行文件中。
网站包括: index.html 图片 声音 pdf 等。
单击合并文件后,需要打开 index.html。
这可能吗?
======================================
Adobe AIR 可能对此有用,但我只能创建 setup 可执行文件,也许可以只创建可执行文件?
您可以将任意数量的文件打包到 AIR 应用程序中(尽管导出时间可能会大幅增加)。您不能创建“只是”可执行文件,因为需要安装 AIR 应用程序,而且 HTMLLoader 无论如何都需要单独的页面和图片文件。基本上,您需要做的就是:
为了使 pdf 文件在浏览器中工作,用户需要安装 Acrobat。Flash 内容应该在 mx:HTML 中工作。
更新:
对用户隐藏所有文件更难。我做了类似的事情,不是整个网站,而是嵌入页面和链接的应用程序。
您的所有内容都可以打包到某个 zip 文件中(不是在 exe 中,甚至本机 AIR 应用程序也无法自定义其 exe 包装器。)如果您愿意,您甚至可以加密每个文件。问题是链接和文件(图片、样式和脚本。)
我用数据 URI 方案解决了图片问题(请参阅我的问题- 自我回答 - 关于这个。)我认为其他文件也可以通过这种方式嵌入。
要使链接正常工作,您需要收听 Event.LOCATION_CHANGE。新位置将告诉 HTML 控件想要的位置去(它会找不到页面),解压缩相应的页面并将其设置为htmlText。所以,如果你真的想嵌入所有东西,我会这样做:
在 OS X 上,您可以将其编译为 .app,这是一个特殊文件夹,其行为类似于单个可执行文件。我想这在每个平台上都会有所不同,也许最好的解决方案是寻找一些跨平台框架,它还可以捆绑基于 WebKit 的浏览器视图,这样您就不必处理不同的浏览器以及它们如何访问外部每个平台上的文件。
写完之后,AIR 可能能够捆绑文件,并且它有一个StageWebView
可以显示 HTML 内容的控件(不确定是否在里面显示 Flash)。