javascript - 离线(CD、拇指驱动器等)无需安装 HTML + 视频演示?

标签 javascript html video flash offline

我们公司想将一些营销/培训内容放到 U 盘上分发给我们的客户。

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

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

想法?

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

似乎默认的行业方法是简单地将内容打包到独立的 Flash Player 可执行文件中。想知道是否可以通过其他方式完成,最好使用 Web 标准。

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

最佳答案

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

但首先,这是我们没有使用的。我查看了 Appcelerator Titanium ,它 promise 允许使用 WebKit 渲染引擎使用 HTML5+CSS 构建的跨平台桌面应用程序。他们有桌面版,但由于移动版,它几乎被忽视了。至关重要的是,他们桌面版的 Windows 版本不支持我们需要的视频。有点奇怪的限制,但我不会因为他们专注于快速扩张的移动市场而责备他们。

所以,这就是我们要做的:Mozilla Firefox, Portable Edition .通过一些调整,非常适合此目的。

在此示例中,我们将假设我们正在为 Acme Awesome Products 制作营销演示文稿。

  • 重命名文件。 在Portable 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 徽标。

  • Screenshot of the final app

    在这一点上,您有一些与 native 应用程序无法区分的东西。显然,一个有创造力的用户可以在你的应用程序的目录结构中浏览并看到你正在使用 Firefox,并且所有 Firefox 的键盘快捷键仍然处于事件状态。如果这对您来说是个问题,Firefox 的“信息亭”式扩展确实存在,其中一些是相当可靠的,尽管我还没有测试过它们中的任何一个,所以我不会在这里链接到它们。再次,对我来说这不是问题。

    这种方法有很大的改进空间。我想探索的 future 事物是
  • 各种配置调整以加快加载时间
  • 自动启动 Acme.exe 的 autorun.inf
  • 当然 OSX 和 Linux 版本。
  • 禁用可移植 Firefox 键盘快捷键的方法。 (最好的方法是什么?.ini/about:config 调整?扩展?.ini/about:config 调整应该更快)
  • 弄清楚如何更改/FirefoxPortable/Acme.exe 的图标。根据 this与大多数 .exe 文件不同,可能需要重新编译。
  • 关于javascript - 离线(CD、拇指驱动器等)无需安装 HTML + 视频演示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4432465/

    相关文章:

    html - 在背景顶部对齐文本中心

    javascript - 使用 IE 上传 iFrame 文件会产生下载对话框

    video - FFMPEG 从 .H264 转换为 MP4 播放速度太快

    javascript - 什么 HTML5 视频监听器可以在视频开头触发事件?

    html - 背景视频大小问题

    javascript - 动态位置后的粘性标题

    javascript - 如果父窗口重定向到其他页面,如何检查子窗口是否存在

    javascript - 如何将功能引导 JS 转换为加速移动元素 (AMP)

    javascript - 如何使用 Bluebird promise Node 的 child_process.exec 和 child_process.execFile 函数?

    javascript - 实现 HTML5 存储 API