如何在Google Chrome中通过Javascript启动系统命令?

时间:2010-03-29 12:24:58

标签: javascript google-chrome

我想通过Chrome中的Javascript在我的计算机上执行本地程序。在Firefox中,它可以按如下方式完成(在about:config中将'signed.applets.codebase_principal_support'设置为 true 之后):

function run_cmd(cmd, args) {
    netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");

    var file = Components.classes["@mozilla.org/file/local;1"]
        .createInstance(Components.interfaces.nsILocalFile);
    file.initWithPath(cmd);

    var process = Components.classes["@mozilla.org/process/util;1"]
        .createInstance(Components.interfaces.nsIProcess);
    process.init(file);

    process.run(false, args, args.length);
}

Chrome的等效代码是什么?

4 个答案:

答案 0 :(得分:1)

在没有扩展程序的Chrome中无法实现此功能。 这需要扩展中的NPAPI插件,请参阅http://code.google.com/chrome/extensions/npapi.html

答案 1 :(得分:0)

我认为你不能。 Chrome非常关注此类内容,因此也就是沙盒

答案 2 :(得分:0)

在Chrome中执行此操作的首选方法是使用Native Messaging和Chrome扩展程序。 NPAPI正在逐步淘汰。

https://developer.chrome.com/extensions/nativeMessaging

答案 3 :(得分:-3)

Javascript无法在浏览器外部进行外部通信。例如,没有磁盘输入/输出,没有与主机操作系统(如Windows / Linux)的通信。 Javascript本身就更加严格,因为它由浏览器本身执行。