问题标签 [jquery-terminal]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
679 浏览

javascript - JavaScript 中点击与鼠标拖动的跨浏览器检测

在 jQuery 终端中,我有绑定鼠标向下/向上/移动的代码,以检测用户是否使用单击而不是拖动。

代码如下所示:

(代码也处理双击,不记得为什么)。

但是在 Chrome/MacOS 上存在问题(我正在 VirtualBox 中对其进行测试,但也有人报告了这个问题)即使没有鼠标移动也没有拖动,mousemove 也会被触发。

在鼠标实际移动后绑定时,似乎会触发 mousemove 事件(在 MacOS/Chrome 上)。

是否有更好的解决方案来检测在 MacOS 上以及在其他 OS/浏览器上工作的点击而不是拖动?

0 投票
1 回答
297 浏览

jquery - 我们如何使jquery终端屏幕可调?

我正在使用 jquery 终端在我的项目中运行命令,因为我想让它的屏幕可调,我无法做到这一点,有人可以帮助我吗?

0 投票
1 回答
324 浏览

jquery-terminal - 在动画完成之前,JQuery 终端键入动画不显示特殊的 HTML 字符或类样式

我正在使用 JQuery 终端示例中的代码在控制台窗口中模拟键入的动画。我可以让动画按预期工作,但在动画过程中,直到动画完成后才会显示特殊的 HTML 字符。例如,在动画运行时,控制台会渲染 ' \' 而不是 ''

此问题也适用于分配给正在动画的任何 div 的类的样式。直到动画完成后样式才会显示。

下面是用于动画的代码(改编自 JQuery 终端示例页面):

以及如何调用它的示例:

在这种情况下,应用于分配给 div 输出的“pong”类的样式typed_message在文本输入完成之前不会显示。

有没有办法在动画运行时显示样式或特殊字符?

0 投票
1 回答
1781 浏览

javascript - 文本替换后匹配子字符串的光标位置

TL;博士

我有替换文本、字符串和光标位置(一个数字)的函数,如果字符串的长度发生变化,我需要为用替换函数创建的新字符串获取更正的位置(一个数字):

问题是我可以在原始文本上使用子字符串,但是替换将不匹配整个单词,因此需要对整个文本执行此操作,但子字符串与替换不匹配。

当原始光标位于替换单词的中间时,我也可以解决光标始终位于单词末尾的解决方案。

现在我的实现,在 jQuery 终端中,我有一组格式化程序函数:

他们接受一个字符串,它应该返回新的字符串,它工作正常,除了这种情况:

当我有格式化程序时,如果打破命令行会改变长度,例如这个格式化程序:

那么当命令行获取新字符串时光标位置是错误的。

我试图解决这个问题,但它没有按预期工作,终端的内部看起来像这样,

当我更改时,position我正在创建另一个formatted_position在命令行中用于显示光标的变量。为了得到这个值,我使用这个:

$.terminal.substring 和 $.terminal.length 是终端格式感知的辅助函数(文本看起来像这样[[b;#fff;]hello]),如果您要编写解决方案,您可以使用普通文本并使用字符串方法。

问题是当我将光标移动到更改的单词中间时

当文本较长时它会起作用,但对于较短的字符串,当文本位于被替换的单词的中间时,光标会向右跳。

我也尝试使用以下代码解决此问题:

但是我认为这会让情况变得更糟,因为当光标位于替换单词之前或中间时它会找到差异,并且只有当光标位于替换单词的中间时它才应该找到差异。

您可以在此 codepen https://codepen.io/jcubic/pen/qPVMPg?editors=0110中看到我尝试的结果(允许输入 emoji 和 foo bar baz 被替换text_$1

更新

我已经使它与此代码一起工作:

当您将表情符号作为第一个字符输入并且光标位于 :smile: 单词的中间时,它不适用于一种情况。如何修复 get_formatted_position 函数以在替换后具有正确的固定位置?

更新:我提出了不同且简单的问题,并使用接受正则表达式和字符串的 trackingReplace 函数得到了解决方案,因此我更改了格式化程序的 API 以接受带有正则表达式和字符串的数组,以及替换后正确的子字符串位置

0 投票
0 回答
139 浏览

jquery-terminal - jquery-terminal 中带有身份验证令牌的命令文档

我正在按照示例JSON-RPC with authentication创建一个带有服务器端身份验证的 jquery 终端。它运行良好,但是当我键入“帮助”以获取有关特定命令的信息时,身份验证令牌作为第一个参数包含在内。我担心这可能会使用户感到困惑或让他们认为他们必须在终端中输入令牌。

例如,在示例的演示中,键入“help ls”会返回:

有什么方法可以配置 jquery-terminal 来过滤掉令牌,以便键入“help ls”返回类似这样的内容?

我一直在尝试通过编写自定义“帮助”命令来确定这是否可以完成,但我不确定如何在仍然使用 JSON-RPC 响应中的文档的同时做到这一点。

0 投票
1 回答
1261 浏览

emscripten - 如何在网页中运行使用 Emscripten 编译的交互式程序?

我有一个简单的程序,说如下:

我使用 Emscripten 编译了它:

这给了我一个非常基本的 Emscripten 生成的网页,其中包含一个用于程序输出的简单窗口。但是,该fgets()调用会导致浏览器弹出窗口,大概来自prompt(). 我可以输入内容,结果最终会显示在输出窗口中。这不是一个理想的交互体验。

我想要的是一个更传统的“控制台”界面,用户可以在终端窗口中交互式地键入以向交互式程序提供输入。

我怀疑解决方案可能在于JQueryTerminalHyperXterm.js 之类的东西,但我目前还不清楚如何将其中的任何一个实际连接到 Emscripten 编译的程序。

如何为我的 Emscripten 代码提供“控制台”界面?

0 投票
1 回答
459 浏览

javascript - 使用 jQuery 终端获取 PHP 数据

我正在研究 jQuery 终端仿真器插件:https ://terminal.jcubic.pl/但在文档中找不到我要查找的内容,实际上发现它有点太高级了,我无法理解,所以我在这里询问如何我会使用插件从 PHP 中的 json 对象加载命令和参数回复,还是完全加载单独的文件?

0 投票
1 回答
132 浏览

javascript - Jquery 终端中的用户文本

我有疑问,如何在 Jquery 终端中添加价值?像这样的东西:

我的意思是这样的:

0 投票
1 回答
139 浏览

jquery-terminal - 使用不带 jquery 的 jquery-terminal 模拟器小部件

有没有办法在没有 jquery 的情况下使用这个终端小部件。我主要在我的网站上使用 vanilla js,我想包含这个终端。

  1. 没有jquery可以使用吗?
  2. 有没有好的选择?
  3. 如果不是,在不使用 jquery 的现有页面上使用它的最不干扰的方法是什么?(没有实际使用 iframe)
0 投票
1 回答
103 浏览

jquery - 这个 npm 包可以导入吗?

您好我正在尝试将一个名为“jquery.terminal”的 npm 包导入我的项目中。

我正在通过命令行使用 browserify 来转换 require("jquery.terminal"); 解释器将语句转换成可读的代码。

这是我当前的代码。

这是 npm 上的包https://github.com/jcubic/jquery.terminal

这是我的错误