Запустите локальный файл .exe с машины Firefox Linux со страницей js и сохраните вывод - PullRequest
0 голосов
/ 17 мая 2019

Я пытаюсь выполнить локальный файл .exe из js моей HTML-страницы в браузере Firefox на компьютере с Linux. Я знаю, что это небезопасно, но это будет локально, и я прочитал некоторые варианты, но ни один из них не подходит. Я также хотел бы прочитать стандартный вывод и захватить его.

Я пробовал много вещей, мой код сейчас выглядит следующим образом:

var oShell = new ActiveXObject("WScript.shell");
oshell.run("/usr/share/applications/rfid.desktop");
var res = oShell.StdOut.ReadAll;
console.log(res);

или это:

alert("In fun RunExe()..");
    netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
alert("Done");

var exe = window.Components.classes['@mozilla.org/file/local;1'].createInstance(Components.interfaces.nsILocalFile);
exe.initWithPath("{% static '../../rfid-csharp/RFID.exe' %}");
alert("exe");
var run = window.Components.classes['@mozilla.org/process/util;1'].createInstance(Components.interfaces.nsIProcess);
run.init(exe);
var parameters = [""];
run.run(false, parameters,parameters.length);
alert("in function RunBat");

Но ни один из них не работает в первую очередь, потому что activeXObject предназначен только для ie, а во-вторых, ошибка:

ReferenceError: netscape не определен Uncaught TypeError: Невозможно прочитать свойство 'classes' из неопределенного

Я также пытался создать desktop.file, но я не знаю, как выполнить его из js.

Большое спасибо и извините за мой плохой английский.

...