본 사이트는 여러분의 사용자 경험을 개선하기 위해 유지 보수를 진행하는 동안 기능이 제한됩니다. 도움말로 문제가 해결되지 않고 질문을 하고 싶다면 Twitter의 @FirefoxSupport 및 Reddit의 /r/firefox 채널을 활용하세요.

Mozilla 도움말 검색

고객 지원 사기를 피하세요. 저희는 여러분께 절대로 전화를 걸거나 문자를 보내거나 개인 정보를 공유하도록 요청하지 않습니다. "악용 사례 신고"옵션을 사용하여 의심스러운 활동을 신고해 주세요.

자세히 살펴보기

Running executable using UniversalXPConnect

  • 3 답장
  • 1 이 문제를 만남
  • 1 보기
  • 최종 답변자: cor-el

more options

Hi I am using following javascript to run windows program but I get error message ->typeerror:netscape.security.privilegemanager is undefined. I am running firefox version 31. Is this outdated in latest versions of firefox ? If yes, can you please tell me the alternatives ?

function runApp() {

  var ua = navigator.userAgent.toLowerCase();
               if (ua.indexOf("msie") != -1) {
                   MyObject = new ActiveXObject("WScript.Shell")
                   MyObject.Run(path);
               } else {
                   netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
                   var exe = window.Components.classes['@mozilla.org/file/local;1'].createInstance(Components.interfaces.nsILocalFile);
                   exe.initWithPath(path);
                   var run = window.Components.classes['@mozilla.org/process/util;1'].createInstance(Components.interfaces.nsIProcess);
                   run.init(exe);
                   var parameters = ["/c start winword.exe"];
                   run.run(false, parameters, parameters.length);
               }
           } catch (ex) {
               alert(ex.toString());
           }
Hi I am using following javascript to run windows program but I get error message ->typeerror:netscape.security.privilegemanager is undefined. I am running firefox version 31. Is this outdated in latest versions of firefox ? If yes, can you please tell me the alternatives ? function runApp() { var ua = navigator.userAgent.toLowerCase(); if (ua.indexOf("msie") != -1) { MyObject = new ActiveXObject("WScript.Shell") MyObject.Run(path); } else { netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); var exe = window.Components.classes['@mozilla.org/file/local;1'].createInstance(Components.interfaces.nsILocalFile); exe.initWithPath(path); var run = window.Components.classes['@mozilla.org/process/util;1'].createInstance(Components.interfaces.nsIProcess); run.init(exe); var parameters = ["/c start winword.exe"]; run.run(false, parameters, parameters.length); } } catch (ex) { alert(ex.toString()); }

모든 댓글 (3)

more options

Support for UniversalXPConnect has been removed quite some time ago and you can no longer use this method to run privileged code. You would need an extension to run a program.

There are extensions that you can look at.

more options

What do I need to make the following code work? Do I need any adds on for this ?? [Firefox version 31]

//Components.utils.import("resource://gre/modules/FileUtils.jsm");
           //var env = Components.classes["@mozilla.org/process/environment;1"]
           //                    .getService(Components.interfaces.nsIEnvironment);
           //var shell = new FileUtils.File(env.get("COMSPEC"));
           //var args = ["/c", "ping stackoverflow.org"];
           //var process = Components.classes["@mozilla.org/process/util;1"]
           //                        .createInstance(Components.interfaces.nsIProcess);
           //process.init(shell);
           //process.runAsync(args, args.length);
more options

See also:

You need to run such code from within an extension to have the proper chrome privileges.