2015-09-03 2 views
0

Я пытаюсь найти способ выполнить .jar-файл с помощью Mozilla JPM (я хорошо знаю, что надстройка, которая выполняет это, существует, но я хочу узнать). Я следовал онлайн учебнику, и это мой код прямо сейчасВыполнять файл .jar через Mozilla Add-on

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:\Users\QaziWa\Documents\Jar\DownloadReportPPE.jar"); 
} 

Теперь я успешно открыл URL-адрес, но я не могу найти какую-либо документации о том, как запустить файл банка. Мой код выше:

tabs.open("C:\Users\QaziWa\Documents\Jar\DownloadReportPPE.jar"); 

, очевидно, некорректен.

Я смотрел эту ссылку: https://developer.mozilla.org/en-US/Add-ons/SDK/High-Level_APIs/tabs, но мне не удалось найти что-либо, что дает возможность выполнить файл jar.

Моя цель - создать кнопку надстройки, которая будет исполнять этот файл jar для меня. Этот файл jar загружает pdf-отчеты на веб-сайте, поэтому я хотел бы, чтобы он выполнялся в новой вкладке или окне. Какой метод даст мне то, что я ищу, или есть какая-нибудь документация, которая может мне помочь.

+0

Учитывая, что баночка файлы Java-приложения, а не то, что браузер может выполнить сам по себе: если вы не» t хотят упаковать их в виде приложений webstart или в виде апплета (оба они мертвы в мире браузеров, а java упала с изящества), что вы пытаетесь на самом деле сделать? Я подозреваю, что независимо от вашего приложения .jar, возможно, также может работать и современный JS. –

+0

Я только недавно начал кооперативный термин в компании, и меня попросили выяснить способ выполнения файла .jar из браузера Mozilla Firefox. Файл .jar был создан разработчиком здесь и передал мне эту задачу. По сути, цель этой задачи - предоставить клиентам способ выполнить .jar-файл с простым щелчком в своем браузере. – Wajih

+0

звучит так, будто вас попросили изобрести [java webstart] (https://docs.oracle.com/javase/tutorial/deployment/webstart). –

ответ

0

Скорее всего, это не лучшее решение, но я понял, что работает.

Следующий код выполнит .jar файл, нажав Mozilla надстройку на кнопку:

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.'); 
    } 
}