Chrome Packaged App从命令行传递文件(通过launchData)

时间:2013-06-10 17:01:07

标签: file command-line-arguments google-chrome-app

我正在尝试编写一个Chrome打包的应用程序,它最终将从命令行接受文件作为参数,但我无法弄清楚如何使其工作。这就是我正在做的事情:

的manifest.json

...
"file_handlers" : {
    "text" : {
        "types" : [ "*" ],
        "title" : "File Opener"
    }
},
...

我-背景page.js

chrome.app.runtime.onLaunched.addListener(function (launchData) {
    chrome.app.window.create('my-file.html', { ... }, function (win) {
        win.contentWindow.launchData = launchData;
    });
});

(我希望launchData能够填写通过命令行传递了哪些文件的数据。)

命令

"C:\Program Files\Google\Chrome\Application\chrome.exe" --app-id=my-app-id "C:\path\to\file.txt"

当我执行上述命令时,打包的应用程序会打开所有精细和花花公子,但launchData未定义。

我错过了一些明显的东西吗?我在这里运行Windows 7上的Chrome 27,并且非常想让它运行起来!

...谢谢

1 个答案:

答案 0 :(得分:3)

所以这就是结果:我通过命令行传递的文件有一个Chrome类型未知的MIME类型(27),当前发生这种情况时,文件将从launchData中省略。幸运的是,这已在Chrome 28中得到修复(我相信),我已经确认该应用适用于Chrome Canary(目前最高可达29 beta)。

有关详细信息,请参阅this问题。