我们公司希望将一些营销/培训内容放到USB拇指驱动器上,以分发给我们的客户。

内容是HTML +一些嵌入式视频。视频(当前为.flv)不是交互式的或类似的东西,尽管它们对内容很重要。棘手的一点是,HTML包含在视频结束时需要运行的Javascript。

我们首先想到的是使用Flash视频包装解决方案,例如Jwplayer。当文件是
托管在网络服务器上。但是,由于Flash的安全策略local (e.g. "file://foo.js") Javascript code cannot receive callbacks from Flash objects。此外,当本地Web文件包含Flash之类的ActiveX对象时,Internet Explorer用户会收到令人讨厌的安全警告(因为他们该当做的还不错!)。

有想法吗?

理想情况下,我们希望尽可能地跨浏览器和跨平台,而无需用户安装任何东西。但是我们不能保证他们
将能够或愿意修改安全设置,我们也不能保证它们将具有支持HTML5视频的浏览器。

似乎默认的行业方式是将这些内容打包到独立的Flash Player可执行文件中。想知道是否可以采用其他方式,最好是使用网络标准。

Titanium Appcelerator Desktop接近完美,尽管桌面版不支持视频!

最佳答案

好的。这是我们要使用的解决方案。

但是首先,这是我们不使用的东西。我研究了Appcelerator Titanium,它允许使用WebKit渲染引擎允许使用HTML5 + CSS构建的跨平台桌面应用程序。他们有台式机版本,但对于移动版却几乎被忽略了。至关重要的是,其桌面版的Windows版本不支持我们需要的视频。有点怪异的限制,但我不会因为专注于快速扩展的移动市场而让他们失望。

因此,这是我们要进行的操作:Mozilla Firefox, Portable Edition。通过一些调整,可以很好地实现此目的。

在此示例中,我们将假装正在为Acme Awesome Products进行营销演示。

  • 重命名文件。 在可移植Firefox安装中,将FirefoxPortable/App/Firefox/firefox.exe重命名为FirefoxPortable/App/Firefox/Acme.exe,将FirefoxPortable/App/Firefox目录重命名为FirefoxPortable/App/Acme,最后重命名FirefoxPortable/PortableFirefox。 exe到FirefoxPortable/Acme.exe。 (请参见下面的屏幕截图中的资源管理器)
  • INI调整。 将FirefoxPortable/App/DefaultData/Settings/FirefoxPortableSettings.ini复制到FirefoxPortable/FirefoxPortableSettings.ini,并进行以下屏幕快照中所示的调整。这将使应用程序以所需的窗口大小启动,没有Firefox Portable初始屏幕,并且带有我们选择的开始页面。您还需要在此处更改一些路径,以告诉它在哪里可以找到我们在步骤1中更改了位置的文件。 (请参见下面的屏幕截图中的编辑器窗口)
  • 隐藏Firefox应用程序文件结构。 出于美学原因,您可能需要右键单击FirefoxPortable/中的所有文件和文件夹,并将其隐藏,除了 Acme.exe 之外。
  • 更改标题栏。 启动Acme.exe。安装"Customize Titlebar" extension或类似的东西。使用它可以将便携式Firefox的文本更改为您喜欢的任何文本。 (或者,您可以编辑/FirefoxPortable/App/Acme/chrome/en-US.jar。打开.jar,然后您将看到locale/branding/brand.dtd。)重新启动Acme.exe以查看标题栏的更改。
  • 关闭窗口Chrome。 进入Portable Firefox的“查看”菜单,然后关闭所有chrome(导航栏,书签栏,状态栏等)。请记住,您可以按键盘上的“alt”键以返回菜单栏,然后​​结束用户也可以。 (或者,有几个针对Firefox的“信息亭”样式扩展会将应用程序进一步锁定。但是出于我的目的,我并不在乎。)
  • 更改应用程序图标。 使用IcoFx之类的程序(出色且免费)更改FirefoxPortable/App/Acme/Acme.exe的图标。注意:IANAL,但我认为您实际上必须在重新分发之前从Firefox中删除Mozilla的官方品牌,例如Firefox徽标。


  • 在这一点上,您与 native 应用程序有一些区别。显然,有创造力的用户可以在应用程序的目录结构中四处浏览,看到您使用的是Firefox,并且所有Firefox的键盘快捷键仍将处于事件状态。如果这对您来说是个问题,那么确实存在Firefox的“信息亭”风格的扩展,其中有些是防弹的,尽管我没有测试它们中的任何一个,所以在这里我不会链接到它们。再次,对我来说这不是问题。

    这种方法有很大的改进空间。我想探索的 future 事物是
  • 进行各种配置调整以加快加载时间
  • 自动运行Acme.exe的autorun.inf
  • 当然是OSX和Linux版本。
  • 禁用可移植Firefox的键盘快捷方式的方法。 (最好的方法是什么?.ini/about:config调整?扩展?.ini/about:config调整应该更快)
  • 了解如何更改/FirefoxPortable/Acme.exe的图标。根据this,可能需要重新编译,这与大多数.exe文件不同。
  • 10-08 12:01