问题标签 [jint]

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 回答
871 浏览

javascript - 如何使用 Jint 从 JavaScript 函数调用中获取正确的 C# 字符串数组

我正在使用 Jint 在 C# 应用程序中评估 JavaScript。我的 JS 返回一个字符串数组:

但是一旦我回到 C# 中,我不确定如何正确使用该数组:

这是调试器的样子:

在此处输入图像描述

0 投票
1 回答
672 浏览

javascript - 使用 dom 访问调用 javascript 文件

我有一个带有 DOM 访问代码的 javascript 文件

我有一个包含所有 DOM 信息的 html 文件

有没有办法让 C# 调用 javascript 文件,并将 的值a返回给 c# 程序?

实际上,JavaScript 可能要复杂得多,我需要将这些“感兴趣的值”引导回 C#,但让我们只考虑这里提到的简单示例。

我认为可能的方向是使用https://jint.codeplex.com/或 Web 浏览器控件。这里的挑战在于它不仅涉及 JavaScript,还涉及 HTML 文件。

我想知道的是:

  1. 有没有办法将变量值从 JavaScript 传回 C#?

  2. 如何让 JavaScript 评估 HTML 文件中的 DOM 元素?

0 投票
0 回答
391 浏览

jint - 在 jint(.NET 的 Javascript 解释器)中实现“立即中断”

我正在使用 Jint 在 C# 应用程序中评估 JavaScript。我正在尝试制作可视化调试器。当脚本在后台线程运行时,我想在 GUI(开始、中断、步骤、停止)上控制脚本执行。

Jint 提供了使用 BreakPoint 对象进行调试的控制接口。但我不确定如何实现中断功能。

有什么想法吗?

0 投票
1 回答
1502 浏览

javascript - 如何在 JINT Javascript 端创建计时器

我正在使用 JINT ( https://github.com/sebastienros/jint ) 开发一个 C# 项目,我需要在我的 JS 上创建一个计时器,以便它可以在我的 javascript 上执行一个函数,每次计时器时间设置已过. 我怎样才能做到这一点?我使用了 setInterval 或 setTimeout 函数,但它们似乎不是 JINT 的一部分,因为它基于 ECMASCRIPT 并且这些函数不是本机的。

有人能告诉我我该怎么做吗?

谢谢!!

0 投票
1 回答
792 浏览

javascript - Jint 和 JavaScript 之间的通信

我正在寻找一种在 Jint 和 C# 之间进行通信(来回)的方法。

有办法吗?在将它们加载到引擎后,我在 Jint 中运行 JavaScript 没有问题,但另一方面,我在获取回调时仍然遇到问题 - 从 JavaScript 回到 C#(可能使用某种 ObjectForScripting?或其他预定义设置?)谢谢

0 投票
2 回答
1086 浏览

javascript - 如果我使用 Jint 引擎在 JavaScript 代码中定义一个 .Net 类会发生什么

Jint中,您可以在 JS 中访问 .Net 类。

JS文件代码:

C# 代码

  • 我无法理解后台发生了什么?哪个编译器会编译 JS 文件中注入的 c# 代码?C# 编译器还是 JS?
  • 如果我在 JS 文件中声明了 C# List,生成的对象是 JS 对象还是 C# 对象?
0 投票
1 回答
1396 浏览

javascript - 使用 C# 调用外部 JS 库函数

我正在尝试加载一个外部 javascript 文件(http://turfjs.org/我想在 C# 中使用的地理空间库)并调用一个函数(在我的示例中 turf.distance)我正在使用下面的代码使用 Jint 但我有一个例外你能帮帮我吗?谢谢

在此处输入图像描述

0 投票
0 回答
66 浏览

javascript - Backand.signup() “以下操作:“创建我的应用用户”未能执行:自引用循环

我正在使用 ionic 和 backand 创建一个应用程序。

创建新用户时,它会在“Security & Auth”=>“Registered Users”中创建一个新用户。显然这是我的数据库和内部 backand 用户数据库之间的链接......我在该操作中插入了一个 console.log(err) ,这是输出:

“以下操作:“创建我的应用程序用户”未能执行:检测到类型为“Jint.Engine”的属性“Engine”的自引用循环。路径“Engine.GlobalEnvironment.Record”。”

这些是相关代码:

还有一件事,当我在后台界面测试“创建我的应用程序用户”操作时,异常是一样的。

0 投票
2 回答
19927 浏览

javascript - 使用 webpack 导出全局函数

我正在尝试编写一个同构模块。服务器 javascript 将在 JINT 内部运行。我专门创建了一个 webpack 包来构建模块的服务器版本。我想公开一个可以让 JINT 调用的函数。我正在使用 JINT 的 scriptEngine.Invoke 函数,但是这是在全局对象上寻找一个函数。我不知道如何将函数添加到全局对象上。我试过使用expose-loader,但这似乎导出了整个模块,我不能让它只暴露一个函数。

这是我的切入点:

这是我的 formValidator.js:

当我加载生成的包并检查 FormValidator 全局时,它是一个具有验证功能的对象。有没有办法让验证函数直接分配给 FormValidator?

0 投票
0 回答
145 浏览

c# - Jint - 停止脚本直到给出输入

我正在为正在开发的游戏服务器编写脚本界面。我正在使用 MessageBoxes 模仿 NPC 聊天。这是我的脚本:

这是我的代码:

现在,当我执行程序时,它确实显示了 MessageBox,但是在它设置结果之后没有任何反应,脚本不会继续。有谁知道为什么?它应该显示“是”或“否”消息框,但事实并非如此。

也许我做错了什么,或者有没有更好的方法来“停止”脚本,直到给出输入?

编辑:好的,我明白了 - 我必须调用 await Test 所以它会等待。但是,我不能从 Javascript 文件中调用 await 关键字。我该如何解决这个问题?