问题标签 [clearscript]

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

jquery - 如何使用 V8ScriptEngine (Clearscript) 在 c# 代码中加载 jquery 文件?

我正在尝试使用 ClearScript(V8ScriptEngine)从 c# 代码执行 javascript 函数。这里 Script_Text 是 javascript 代码。我想从 jquery 调用 api 并在 C# 中加载 Execute 函数。我遇到了 $ 未定义之类的异常。如何使用 clearscript(V8ScriptEngine) 在 C# 中加载 jquery?

C#代码:

Javascript函数:

0 投票
2 回答
712 浏览

c# - C#.Net ClearsScript V8 启用模块

有没有办法启用“import <module>.js;” 使用Microsoft ClearScript的嵌入式 V8 运行时中的语句?

我找不到任何示例,让我觉得我必须先自己解析脚本文件才能启用它。

0 投票
2 回答
654 浏览

c# - Interacting with the Chrome V8 debugger protocol through .NET (ClearScript)

I'm maintaining an enterprise C# application that provides end-user extensibility through user-defined JavaScript functions (with a select few C# types/proxies exposed) (think financial algorithms).

We evaluate those functions using ClearScript (prevously we were using another library called Noesis however we've moved away from that).

I'd like to offer a way for end-users to perform very basic debugging of the scripts (through a web interface). At a minimum - inspect variables and step over/into functions.

I've successfully connected to the ClearScript engine w/ Chrome when running the app locally and have been able to step through the scripts - however I don't think the same would make sense for end users whilst running in production for various reasons:

  • Might be too tricky for them to set up
  • Possible difficulties with port allocation
  • Probable firewall issues

What I'd really like is a SignalR interface to the V8 debugger - the web-app would interact with the SignalR, and SignalR would interact with the V8 debugger.

  • Has anyone done something along these lines before?
  • Are there any relevant .NET libraries I should be looking at?
  • Am I right in my thoughts that this seems like a fairly big piece of work?
  • Any other advice?
0 投票
1 回答
351 浏览

c# - 如何使用 MS ClearScript 扩展 C# 类型?

我有几个用 C# 编写的类(准确地说,我的项目中有大约 70-100 个类)。这些类被转换为 Javascript(我已将 V8 Javacript MS ClearScript Engine 添加到我的项目中)并集成到我的应用程序中。我想让我的客户使用 Javascript 而不是 c# 为这些类添加更多功能。

问题是- 我无法理解如何将新函数添加到我的类(最初是用 c# 编写的)中,这些函数将使用 Javascript 和 ClearScript 编写。

我不知道我该怎么做。可能吗?

C#为Javascript编写的搜索类方法:

C#编写的类MdQuery:

Javascript写的扩展方法:

Javascript 编写使用 C# 类和 Javasctipt 扩展方法:

0 投票
2 回答
201 浏览

javascript - 如何在 Typescript 中定义要忽略的项目

我有一个使用ClearScript将 JavaScript 添加为扩展语言的应用程序。我已经开始在其他项目中使用 Typescript,并认为我也会在这个项目中使用它。

我的问题是我在 JavaScript 环境中暴露了相当多的 C# 对象/方法/属性。除了插入

在每个实例之上,有没有办法告诉 Typescript 某些符号是“已知的”?

能够具体说明这些函数的输入和输出会很好,这样 TS 可以在我没有正确使用它们时通知我。

如何声明外部符号?

例如,在这个切片中取出一个对象定义

CSRestRequest是从 C# 端导入到 JavaScript 环境的符号,使用

RestRequest是 RestSharp 提供的符号。)

那么如何向 Typescript 声明它CSRestRequest是一个外部符号,new可以生成 RestSharp RestRequest 对象?

0 投票
0 回答
69 浏览

javascript - 使用 TypeScript 开发 3rd 方 JS 脚本

我们使用ClearScript来扩展我们的应用程序,将 C# 对象导出到 JavaScript 环境中。

我们想使用 TypeScript 来帮助开发这些扩展模块。这些模块的主脚本以 .RR 结尾,包含的库脚本以 .RI 结尾。

我们将如何运行 tsc 以便它获取 .TS 文件并将其转换为 .RR 或 .RI 文件?

此外,关于布局external.d.ts是否有任何定义 .NET 对象的示例?例如,如何表示 System.IO.File 等。

0 投票
0 回答
72 浏览

c# - 从任务计划程序运行时,ClearScript ExtendedHostFunctions 会杀死 EXE?

在我的 C# 项目中,我有以下内容

这在交互运行时工作正常。从任务计划程序运行时发生的情况是CSHost定义没问题,但会CSExtendedHost杀死 EXE 并在事件日志中引发错误。

事件查看器中的错误并不完全有帮助,即

我只是通过反复试验才确定它的 ExtendedHostFunctions。如果我将其注释掉并重试其他东西会触发问题,在这种情况下RestSharp,但 DLL 位于正确的位置,甚至位于 PATH 上。

0 投票
1 回答
229 浏览

c# - 如何在 ClearScript 下使用 V8 更新 System.Data 数据行中的列?

我正在使用 V8ScriptEngine

并将“System.Data”命名空间暴露到 ClearScript 环境中。

然后,我从 Microsoft 获取了一个 System.Data 示例,并尝试将其适应 ClearScript/V8 环境

在这一点上我的困难是row["Price"] = i + 1在 C# 上下文中工作正常,但在 ClearScript/V8 中表现不佳,抛出一个

所以问题是,我如何更新一行中的一列?我在早期通过在 C# 端编写一个辅助函数来解决这个问题。这仍然是最好的解决方案吗?

0 投票
1 回答
32 浏览

c# - C# MS ClearView 直接通过另一个属性的值访问一个属性

我正在使用 MS ClearScript 制作脚本程序。我希望能够间接引用一个属性,而不必输入我的类的值成员。

这是我的课:

我创建一个集合并将主机对象添加到脚本引擎,如下所示:

我可以使用以下行运行脚本:

但我想改进这一点,以便我可以执行以下操作:

0 投票
0 回答
98 浏览

typescript - 通过 ClearScript 将 System.Data.DataTable 暴露到 JS 中后,我如何为 TypeScript 表达它的对象?

所以我在我的应用程序中提供了一个增强的 JavaScript 脚本环境,由ClearScript.

我恍然大悟,我可以用它TypeScript来编写有希望的更好的代码,并且在大多数情况下,这是可行的。

在每个脚本的顶部,我有一个这样的导入语句

与 global.d.ts 中的出口类似

我的问题在于如何描述我从 System.Data 中提取的对象。

例如下面给了我DataTable一个parents

DataTablehas.Rows可以接收参数并返回DataRow对象

或不接收参数但可用于查询其他内容,如 Count

如何在TypeScript声明中表达这些不同的行为?