通过Mozilla插件执行.jar文件



我一直在试图找到一种方法来执行使用Mozilla JPM .jar文件(我很清楚,有一个附加组件可以实现这一点,但我想学习)。我遵循了在线教程,这是我现在的代码

var buttons = require('sdk/ui/button/action');
var tabs = require("sdk/tabs");
var button = buttons.ActionButton({
  id: "mozilla-link",
  label: "Visit Mozilla",
  icon: {
    "16": "./icon-16.png",
    "32": "./icon-32.png",
    "64": "./icon-64.png"
  },
 onClick: handleClick
});
function handleClick(state) {
  tabs.open("C:UsersQaziWaDocumentsJarDownloadReportPPE.jar");
}

现在我已经成功打开了url,但是我找不到任何关于如何执行jar文件的文档。我上面的代码:

tabs.open("C:UsersQaziWaDocumentsJarDownloadReportPPE.jar");

显然是错误的。

我正在看这个链接:https://developer.mozilla.org/en-US/Add-ons/SDK/High-Level_APIs/tabs,但是我没有找到任何表示执行jar文件的能力的东西。

我的目标是创建一个附加按钮,将执行这个jar文件为我。这个jar文件下载一个网站上的pdf报告,所以我希望它在一个新的选项卡或窗口执行。什么方法会给我什么,我正在寻找或有任何文档,可以帮助我。

最可能不是最好的解决方案,但我找到了一些可行的方法。

下面的代码将通过点击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"
    //Icons for the button
  },
  onClick: handleClick
});

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

相关内容

  • 没有找到相关文章

最新更新