file - Chrome 打包应用程序从命令行传递文件(通过 launchData)

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

我正在尝试编写一个 Chrome 打包应用程序,该应用程序最终会从命令行接受文件作为参数,但我不知道如何使其工作。这就是我正在做的事情:

ma​​nifest.json:

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

my-background-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,并且真的很想让它发挥作用!

谢谢...

最佳答案

结果是这样的:我通过命令行传递的文件具有 Chrome 未知的 MIME 类型 (27),目前,当发生这种情况时,该文件会从 launchData 中省略>。幸运的是,这个问题在 Chrome 28 中得到了修复(我相信),并且我已经确认该应用程序可以在 Chrome Canary 中运行(目前最多为 29 beta)。

参见this供进一步引用的问题。

关于file - Chrome 打包应用程序从命令行传递文件(通过 launchData),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17029124/

相关文章:

python - 在 shell 命令替换中调用 Python 脚本时,将输入提示与返回值分开

google-chrome-app - 在打包的应用程序 XHR 中设置 "unsafe" header

java - 错误更改系统找不到指定的文件

java - 使用阻塞 IO 的多线程会损坏 Java 中的文件

c - 在 C 中将命令行参数解析为 unsigned long long

google-chrome - 拒绝执行内联脚本,因为它违反了以下内容安全策略指令 : "script-src ' self'"

javascript - 将 Chrome 应用程序移植到 UWP : How to handle "background page"?

java - 如何直接从文件向 Java 中的 ArrayList 添加项目?

ruby - 如何在 Ruby 中可逆地转义 URL 以便将其保存到文件系统

java - 无法解决 OSGI 服务组件依赖性