JQuery终端:如何不换行回显
JQuery Terminal: How to echo without line break
是否可以在不换行的情况下回显?例如,假设我想让三个点相继出现一秒:
this.echo(".");
await sleep(1000);
this.echo(".");
await sleep(1000);
this.echo(".");
目前显示为:
.
.
.
但是我需要它显示为:
...
版本 2.8.0
你可以只使用:
<script src="https://unpkg.com/jquery.terminal@2.8.0/js/echo_newline.js"></script>
它将为 echo 添加新选项(脚本是 monkey patch over echo 但它比示例中的好一点,并且它有单元测试覆盖率)。
this.echo(".", {newline: false});
await sleep(1000);
this.echo(".", {newline: false});
await sleep(1000);
this.echo(".", {newline: false});
那么如果你输入命令 "foo" 你将:
...> foo
> |
并且如果您用换行符回显点(默认为 true),您将拥有:
....
> |
您甚至可以使用:
term.echo('hello ', {newline: false});
term.echo('foo\n', {newline: false});
在未来的版本中,我可能会为整个终端引入选项换行符,这样你将始终需要为具有此选项的终端添加 \n
(但你仍然需要 echo_newline.js
文件).
是否可以在不换行的情况下回显?例如,假设我想让三个点相继出现一秒:
this.echo(".");
await sleep(1000);
this.echo(".");
await sleep(1000);
this.echo(".");
目前显示为:
.
.
.
但是我需要它显示为:
...
版本 2.8.0
你可以只使用:
<script src="https://unpkg.com/jquery.terminal@2.8.0/js/echo_newline.js"></script>
它将为 echo 添加新选项(脚本是 monkey patch over echo 但它比示例中的好一点,并且它有单元测试覆盖率)。
this.echo(".", {newline: false});
await sleep(1000);
this.echo(".", {newline: false});
await sleep(1000);
this.echo(".", {newline: false});
那么如果你输入命令 "foo" 你将:
...> foo
> |
并且如果您用换行符回显点(默认为 true),您将拥有:
....
> |
您甚至可以使用:
term.echo('hello ', {newline: false});
term.echo('foo\n', {newline: false});
在未来的版本中,我可能会为整个终端引入选项换行符,这样你将始终需要为具有此选项的终端添加 \n
(但你仍然需要 echo_newline.js
文件).