【问题标题】:Use chrome app in terminal在终端中使用 chrome 应用程序
【发布时间】:2014-10-14 14:14:18
【问题描述】:

我想知道是否有可能制作一个可以在没有 chrome UI 的终端中启动的 chrome 应用程序。示例:

chrome.app.runtime.onLaunched.addListener(function() {
    console.log("Hello world!);
});
imac:bin$ chrome --app-id=<my-app-id>
Hello world!
imac:bin$

我认为不是,但你能确认一下吗?谢谢

【问题讨论】:

  • 当您说没有 chrome UI 时,您的意思是您希望您的应用程序在没有应用程序窗口的情况下启动,或者只是在没有打开 Chrome 浏览器的情况下启动?
  • 你在尝试你的例子时得到了什么?
  • @mmocny 一个或另一个。 MarcRochkind,当我尝试时,我有一个潜意识窗口然后什么都没有。
  • 为什么要使用 Chrome App 作为 shell 工具?它在某种程度上可能的,但不能没有某种包装器。除非你需要一个完整的渲染引擎,否则最好使用 shell 脚本(或者如果你想使用 JavaScript,Node.js)。
  • 对于某些体验,将 chrome 的 api 用于服务器,例如 indexeddb 将是服务器端数据库。

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


【解决方案1】:

我在 OSX 上使用这一行从命令行启动 chrome 应用程序:

open -n -a Google\ Chrome\ Canary --args --user-data-dir=/tmp/temp_chrome_data_dir --load-and-launch-app=...

关键标志是 --user-data-dir 用于创建隔离配置文件,--load-and-launch-app 用于自动启动 chrome 应用程序。我使用open 命令来解析 OSX 上 chrome 应用程序的路径,但您可以只使用显式路径:

/path/to/Google\ Chrome\ Canary --user-data-dir=/tmp/temp_chrome_data_dir --load-and-launch-app=...

也就是说,这也会弹出一个 chrome 浏览器窗口。我还不确定如何解决这个问题,但我会调查。 (我本地开发的解决方法是把窗口最小化一次,就不会再弹出了)。

【讨论】:

  • 我认为 OP 对在 STDOUT 中输出内容更感兴趣。我怀疑这是可能的。
  • 当我尝试使用Could not load extension from ''. Manifest file missing or unreadable 时,我得到了一个流行音乐
  • 以上内容仅适用于应用程序而不是扩展程序,但由于错误,您的路径可能只是没有指向包含应用程序根目录的文件夹(应该有一个 manifest.json,应该从 chrome 加载:extensions“加载解压扩展”按钮)
  • @Druxtan 尝试在chrome://extensions 手动加载它。然后,您在加载应用程序时经常会看到实际错误,而使用 --load-and-launch-app 加载它总是会给出同样模糊且经常误导的消息。
猜你喜欢
  • 2015-05-20
  • 1970-01-01
  • 2017-02-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多