【问题标题】:Can I Create Chrome Application Shortcuts Programmatically from a Web Page?我可以从网页以编程方式创建 Chrome 应用程序快捷方式吗?
【发布时间】:2011-11-23 20:49:37
【问题描述】:

我考虑过使用 Chrome 和 HTML5 本地存储来创建一个有用的应用程序并出售它。然而,我认为我会遇到的问题是将其安装在计算机上的交付机制。假设该应用程序是 wikipedia.com(尽管不是)。手动可以用 Chrome 去那里,然后选择扳手图标、工具、创建应用程序快捷方式,并为应用程序制作桌面和应用程序菜单图标。

好的,很好,但是有没有一种方法可以让我编写一个网页链接或表单按钮,这样它就可以为我做到这一点?换句话说,单击一个按钮或链接,它会显示“创建应用程序快捷方式”表单。我希望 Google Chrome 有这种鲜为人知的方式来使用 HTML 或 Javascript 来触发显示该表单。

对于那些没有 Chrome 的人,我可以检测到这一点,并给他们一个按钮,让他们点击该按钮,向他们发送电子邮件。在电子邮件中,它将为他们提供安装 Chrome 的说明,然后是另一个链接,以便他们可以在 Chrome 中访问此页面以获得显示“创建应用程序快捷方式”表单的按钮。

【问题讨论】:

  • 顺便说一句,这里的第 15 条 google.com/chrome/intl/en/webmasters-faq.html#tools 提供了一些关于如何稍微自定义 Chrome 应用程序的提示。然而,Gears 桌面 API 不再有效——它已被弃用。 (而且我有 Linux,它从未在它上面运行过。)
  • 顺便说一句,如果您访问此页面google.com/support/blogger/bin/answer.py?hl=en&answer=41973,您将看到一个安装按钮。这是一个简单的表单,可让您部署扩展程序,但它仍然没有为其创建 Chrome 快捷方式。然而,这是朝着好的方向迈出的一步。
  • 使用 SendKeys 方法(如果安装了 Google Chrome),击键路径是 ALT-F,然后是 L,然后是 S。这显示了创建快捷方式的对话框。我希望我可以通过 Javascript 做到这一点。
  • 这是我发现的东西的开始。它被称为“Chromium Packaged Apps”:code.google.com/chrome/extensions/apps.html

标签: javascript html google-chrome deployment desktop-shortcut


【解决方案1】:

目前,在提供更好的答案之前,这是一种使用 Chrome 手动部署桌面应用程序的技术,无需在 Chrome 商店中注册:

  1. 用户购买产品后,通过电子邮件向他们发送用于注册其产品的序列号和用于安装此新产品的 Web URL。
  2. Web URL 是 Web 应用程序的实际 URL。但是,默认情况下它不显示其正常内容。相反,网络应用程序处于“安装程序模式”。它通过查看可能尚未安装的 200 年持久、加密的注册 cookie 来做到这一点。 (请注意,如果他们删除了 cookie,也不会造成任何损害——它只是要求他们重新注册。)
  3. Web 应用程序在安装程序模式下执行的第一件事是检测用户代理。如果它发现这不是 Chrome,它会给他们a link to install Chrome 并告诉他们再次按照说明电子邮件,他们已经被发送,但使用 Chrome 来执行此操作。 (您可能还需要提供一份表格,以便再次向他们发送说明和序列号。)
  4. 用户要么安装 Chrome 并再次返回此页面,要么已经是 Chrome 用户。安装程序模式然后显示一条消息,请按 Chrome 中的 ALT-F 键,或按工具栏中的扳手图标,然后选择工具 > 创建应用程序快捷方式,选中两个复选框,单击确定,然后单击“已执行任务”按钮。
  5. 用户按照说明创建桌面/应用程序快捷方式,然后单击“执行的任务”。
  6. 然后用户会看到一个注册表单,他们将在其中输入通过电子邮件发送给他们的序列号。用户将其输入并单击“注册”按钮。
  7. 服务器验证注册,然后存储一个持久的、200 年加密的 cookie,该 cookie 基本上说:“这个人已注册。”这可以防止网络应用在安装程序模式下运行。
  8. 但是,安装程序模式仍处于活动状态,并向他们显示最终提示:“您可以关闭浏览器并从您创建的桌面或应用程序快捷方式运行新应用程序的图标。图标名为 '{insert在此命名}'。”
  9. 他们关闭浏览器并双击图标。应用程序加载,注册 cookie 被读取,Web 应用程序不再以安装程序模式运行——它像往常一样显示应用程序内容。除了这不是 100% 真正自动安装的事实之外,唯一的缺点是,由于主页不是本地文件(缓存),网络应用程序不能真正完全离线工作。当然,它可以使用 HTML5 离线存储,但双击桌面快捷方式将始终连接到您的 Web 应用站点。

【讨论】:

  • 此方法允许用户通过在 chrome 的地址栏中输入 url 直接运行应用程序。是否有一种方法可以让应用程序检测天气 chrome 是否在应用程序模式下运行并相应地显示(或不显示)内容?
  • 您实际上期望一个典型的 BFU 能够遵循包含另一个 X 点指令电子邮件的 9 点指令表?哈哈
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-04-23
  • 1970-01-01
  • 2023-04-02
  • 2011-04-23
相关资源
最近更新 更多