javascript - 执行带有 Mozilla 扩展名的 .jar 文件

标签 javascript firefox-addon firefox-addon-sdk mozilla jpm

我查看了此处回答的以下问题:

How to open file in Mozilla Add-on SDK using system default application

How can I open an external app from Firefox addon? (Eg: default text editor)

Perfom a ShellExecute from Firefox Addon

但是这些解决方案都对我不起作用,我觉得问题可能比我最初想象的要更深。本质上,我正在尝试启动带有 Mozilla 附加扩展的 .jar 可执行文件。我的代码如下所示:

var buttons = require('sdk/ui/button/action');

var button = buttons.ActionButton({
  id: "execute-jar",
  label: "Download Report",
  icon: {
    "16": "./icon-16.png",
    "32": "./icon-32.png",
    "64": "./icon-64.png"
  },
  onClick: handleClick
});



function handleClick(state) {
    // try {
        // var file = Services.dirsvc.get("Desk", Ci.nsIFile);
        // file.append("C:\Users\QaziWa\DownloadReportPPE.jar");
        // file.launch();
    // }
    // catch (ex) {
        // console.error("failure");
      // Failed to launch because e.g. the OS returned an error
      // or the file does not exist,
      // or this function is simply not implemented for a particular platform.
    // }

    let {Cc, Ci} = require('chrome');
    var file = Cc["@mozilla.org/file/local;1"].createInstance(Ci.nsILocalFile);
    file.initWithPath("C:\Users\QaziWa\DownloadReportPPE.jar");
    console.log(file);
    if(file.exists()){
        file.reveal();
        file.launch();
    }
    else {
        console.log('Failed.');
    }
}

由于某种奇怪的原因,我的 .jar 文件未被检测到,我不明白为什么。我希望有人能够提供任何意见来解释为什么会出现这种情况。

最佳答案

改变

file.initWithPath("C:\Users\QaziWa\DownloadReportPPE.jar");

file.initWithPath("C:\\Users\\QaziWa\\DownloadReportPPE.jar");

需要转义那些斜杠;)

关于javascript - 执行带有 Mozilla 扩展名的 .jar 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32466701/

相关文章:

javascript - 在 div 类中使用 javascript 搜索文本

javascript - React - 单独脚本中的组件不起作用

javascript - Mozilla Javascript 性能 NEW OS.File vs OLD nsIFile 超过 3000 个文件

javascript - 在后台对网站进行高效轮询? (Firefox 插件 SDK)

javascript - 使用 Firefox 扩展公开文件写入网页

javascript - 使用 angularJs 路由的 firefox sdk 插件

javascript - JSON stringify 将 0 转换为 null

javascript - Babel 插件 "transform-runtime"仅在首次编译后有效

css - 更改 Firebug 的语法颜色?

javascript - 从主线程运行代码?