有没有办法在Add-on SDK环境中的系统默认应用程序中启动打开文件,或者至少在Firefox插件中启动?
我正在寻找多平台解决方案,所以我宁愿避免像平台检测+ require("sdk/system/child_process").exec()
+(open
,xdg-open
,{{1}这样的事情})。
来自Java世界的Desktop#open之类的东西是理想的。
答案 0 :(得分:1)
解决方案是方法nsIFile#launch()。可以使用FileUtils#File构造函数获取基于文件路径的nsIFile实例。
以下代码演示了使用launch
方法在附加SDK代码中的默认文件浏览器中打开主目录。
var homeDir = require('sdk/system').pathFor('Home');
require('chrome').Cu.import('resource://gre/modules/FileUtils.jsm');
new FileUtils.File(homeDir).launch();