【问题标题】:How can I launch a system command via Javascript in Google Chrome?如何在 Google Chrome 中通过 Javascript 启动系统命令?
【发布时间】:2010-03-29 12:24:57
【问题描述】:

我想通过 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 的等效代码是什么?

【问题讨论】:

    标签: javascript google-chrome


    【解决方案1】:

    这在没有扩展的 Chrome 中是不可能的。 这需要扩展中的 NPAPI 插件,请参阅 http://code.google.com/chrome/extensions/npapi.html

    【讨论】:

      【解决方案2】:

      我不认为你可以。 Chrome 对这些东西非常挑剔,因此他们的沙盒

      【讨论】:

      【解决方案3】:

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

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

      【讨论】:

        【解决方案4】:

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

        【讨论】:

        • 很明显,他知道这一点,他正在努力遵守 Firefox 对使用签名代码执行此操作的要求。他只是在问 Chrome 的要求是什么。
        猜你喜欢
        • 2011-09-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-12-28
        • 2010-09-09
        • 2011-07-30
        • 1970-01-01
        • 2021-03-06
        相关资源
        最近更新 更多