【问题标题】:arguments not working in jquery terminal plugin参数在 jquery 终端插件中不起作用
【发布时间】:2021-05-13 09:40:33
【问题描述】:

我最近一直在开发一个使用 jquery 终端插件的电子应用程序。我正在使用插件的 cmd 功能,并希望在给出命令时传递一个参数,然后打印两个参数。我的整个 renderer.js 文件如下:

var pre = $('pre');
var body = $('body');
function scroll_to_bottom() {
  var sHeight = body.prop('scrollHeight');
  body.scrollTop(sHeight);
}
var cmd = $('#some_id').cmd({
  prompt: ' ',
  width: '100%',
  commands: function(command, argd) {
    var html = pre.html();
    if (html) { html += '\n'; }
    var message = "you've typed " + 
        "<span style=\"color:white\">" + command + " " + argd
        "</span>";
    pre.html(html + '> ' + command + '\n' + message);
    scroll_to_bottom();
    
  }
});

【问题讨论】:

  • 如果您添加标签[jquery-terminal] 或在 GitHub 或 gitter 上提问,我会尽快回答。

标签: jquery electron jquery-terminal


【解决方案1】:

cmd 插件仅接受单个参数,即您键入的整个命令。为了获得命令和参数,您需要解析从回调中获得的字符串:

var cmd = $('#some_id').cmd({
  prompt: ' ',
  width: '100%',
  commands: function(command) {
    var cmd = $.terminal.parse_command(command);
    // cmd.name == name of the command
    // cmd.args == array of arguments
    // cmd.rest == rest of the command as string
  }
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多