使用 javascript 在 Firefox 浏览器中评估系统命令或 python 脚本

发布于 2024-12-08 10:35:17 字数 781 浏览 1 评论 0原文

可能是重复的。

我想编写可以在firefox中执行linux命令的javascript(似乎不可能,但满怀希望地询问)

,通过谷歌搜索,发现可以通过“ActiveXObject”在IE上执行。

这里是示例代码:

<SCRIPT type="text/javascript" LANGUAGE="JavaScript">
  function executeCommands(inputparms)
   {
  // Instantiate the Shell object and invoke 
   its execute method.

    var oShell = new ActiveXObject("Shell.Application");

    var commandtoRun = "C:\\Winnt\\Notepad.exe";
    if (inputparms != "")
     {
      var commandParms = document.Form1.filename.value;
     }

 // Invoke the execute method.  
     oShell.ShellExecute(commandtoRun, commandParms, 
      "", "open", "1");
  }
</SCRIPT>

那么,在 Mozilla 应用程序的 javascript 中是否有与 ActiveXObject 等效的东西? 我对 javascript 很陌生,所以请纠正错误(如果有)。

谢谢!

May be duplicate.

I would like to write javascript which can execute linux command in firefox (seems to be impossible but asking with hope)

from googling, found that it is possible for IE through "ActiveXObject".

here is sample code:

<SCRIPT type="text/javascript" LANGUAGE="JavaScript">
  function executeCommands(inputparms)
   {
  // Instantiate the Shell object and invoke 
   its execute method.

    var oShell = new ActiveXObject("Shell.Application");

    var commandtoRun = "C:\\Winnt\\Notepad.exe";
    if (inputparms != "")
     {
      var commandParms = document.Form1.filename.value;
     }

 // Invoke the execute method.  
     oShell.ShellExecute(commandtoRun, commandParms, 
      "", "open", "1");
  }
</SCRIPT>

So, Is there any equivalent of ActiveXObject in javascript for mozilla apps?
I'm quite new to javascript so please, correct mistakes if any.

Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

伪心 2024-12-15 10:35:17

在 Firefox 插件中,您可以使用 nsIProcess。大概是这样的:

var file = Components.classes["@mozilla.org/file/local;1"]
                     .createInstance(Components.interfaces.nsILocalFile);
file.initWithPath("C:\\Winnt\\Notepad.exe");
var process = Components.classes["@mozilla.org/process/util;1"]
              .createInstance(Components.interfaces.nsIProcess);
process.init(file);
process.runAsync(["c:\\file.txt"]);

当然,这个 API 只能由特权代码访问。

In a Firefox add-on you can use nsIProcess. Something along these lines:

var file = Components.classes["@mozilla.org/file/local;1"]
                     .createInstance(Components.interfaces.nsILocalFile);
file.initWithPath("C:\\Winnt\\Notepad.exe");
var process = Components.classes["@mozilla.org/process/util;1"]
              .createInstance(Components.interfaces.nsIProcess);
process.init(file);
process.runAsync(["c:\\file.txt"]);

This API is only accessible to privileged code of course.

太阳哥哥 2024-12-15 10:35:17

不,不可能在客户端计算机上运行任意本机命令。

No, it's not possible to run arbitrary, native commands on the client's machine.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文