如何在多个平台上使用Neutralinojs os.runCommand

时间:2018-09-30 13:46:21

标签: javascript neutralinojs

我试图使用Nuetralinojs在Windows上获取网络信息。如何使我的应用跨平台?当用户在Linux上执行时,我想运行ifconfig命令。

我在下面发布了我的HTML和JS代码。

let work = () => {
    Neutralino.os.runCommand('ipconfig', 
      (data) => {
        document.getElementById('neutralinoapp').innerHTML = data.stdout.replace(/\n/g, '</br>');
      },
      () => {
        console.error('error');
      }
    );
}
    

Neutralino.init({
    load: () => {
        work();
    },
    pingSuccessCallback : () => {

    },
    pingFailCallback : () => {

    }
});
<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <title>NeutralinoJs</title>
    <link rel="stylesheet" href="/assets/app.css">
  </head>
  <body>
    <div id="neutralinoapp">
    
    </div>
    <script src="/neutralino.js"></script>
    <script src="/assets/app.js"></script>

  </body>
</html>

1 个答案:

答案 0 :(得分:2)

您可以简单地使用Neutralinojs的NL_OS全局变量来检查操作系统。

如果您在服务器window.navigator上运行云模式不是解决方案。

这是修改后的JS函数。

let work = () => {
    let command = NL_OS == 'Windows' ? 'ipconfig' : 'ifconfig';
    Neutralino.os.runCommand(command, 
      (data) => {
        document.getElementById('neutralinoapp').innerHTML = data.stdout.replace(/\n/g, '</br>');
      },
      () => {
        console.error('error');
      }
    );
}