【问题标题】:Definition of Chrome App/Extension/LegacyChrome 应用程序/扩展程序/旧版的定义
【发布时间】:2015-04-10 19:45:02
【问题描述】:

据我了解,每个 Chrome 应用程序/扩展程序/旧版都由其 manifest.json 中的属性定义,这些属性如下:

Chrome 应用:

Chrome 应用在其mainfest.json 中将包含以下内容:

"app": 
{
    "background": 
    {
      "scripts": ["background.js"]
    }
}

background.js 调用 chrome 代码 chrome.app.window.create 将打开一个新的独立应用程序。

Chrome 扩展:

Chrome 扩展程序将在其mainfest.json 中包含以下内容:

"browser_action": 
{
    "default_popup": "index.html"
}

这将为 Chrome 添加一个扩展程序。扩展程序是 Chrome 浏览器的插件。

Chrome 旧版:

"app":
{
    "launch":
    {
         "local_path": "index.html"
    }
}

这就像在 Chrome 的新标签页中打开的 Web 应用程序。

您能否确认这是正确的。

【问题讨论】:

  • 你的问题相当混乱和不清楚。 1)也许削减背景信息。那很重要么? 2)删掉你的其他问题。看起来你有一些东西可以作为关于遗留应用程序的单独问题提出。这样做:提出一个单独的问题。 3)花时间格式化问题。它会更容易阅读。见this guide
  • 哦,建议:删除您的问题,编辑它,然后取消删除。这将保护您在成型时免受反对票的影响。另见How to ask a good question

标签: google-chrome google-chrome-extension google-chrome-app


【解决方案1】:

extension 不必具有浏览器操作,也不必具有任何可见的 UI。清单中没有 app 部分的任何内容都是扩展。

它用于与正常浏览交互的任何类型的功能。见available APIs


legacy packaged app 是一种现已弃用的应用类型,可在浏览器选项卡中打开,但使用本地组件并可以访问 Chrome API。

确实,它们是通过清单中的app.launch.local_path 键来识别的。

引用文档:

旧版打包应用已停用,Chrome 将于 2015 年 6 月停止加载它们

另外,Chrome 网上应用店no longer accepts legacy apps


hosted app 本质上是一小段元数据,主要用作网站的便捷快捷方式。

它由app.launch.web_url 键定义。正如您可以推断的那样,它们与旧版打包应用同时出现。

如果您已经拥有一个网络应用但希望在 Chrome 网上应用店中有所作为,这是一种有用的应用类型。然而,用户经常对此类应用程序“只是一个网站的链接”感到愤怒。


Chrome App(也称为“打包应用程序”以区别于托管应用程序,但不推荐使用此术语,因为它用于旧版应用程序)是一个独立的 HTML5 应用程序,它打开独立于浏览器的 UI。这是“新”应用范例。

它由app.background 键定义。这定义了应用程序的regulates the lifecycle 的事件页面。

长期以来,Google 的立场是 Chrome 应用程序尽可能独立于浏览器,因此their API 在大多数情况下不允许与浏览器交互。不过,这种观点正在慢慢被削弱[citation needed]


Google 有一个nice (if slightly outdated) flowchart 来决定您需要哪种类型的应用程序/扩展程序来实现您的功能:

另外,还有一个in-depth explanation of differences

【讨论】:

    猜你喜欢
    • 2012-05-30
    • 1970-01-01
    • 1970-01-01
    • 2011-03-06
    • 2013-12-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-19
    相关资源
    最近更新 更多