1.

使用nuget 包"Jurassic", 注意,如果 nuget上的包 用起来出现错误,请自行下载 github代码,自行编译最新代码成dll,再引用。

官方的nuget包 很可能不是最新的。

2.

我是将最新的源代码 下载编译,自行引用的。因为 nuget上的最新 包(版本号"2.2.2")缺乏对 uint8Array的支持。

最新的源代码编译的程序集 只支持 .net4.5 和 .netstandard 2.0

3.

编译完的用法举例:

 //测试3
public static bool ExecuteScript(string rawess, string cype)
{
object[] para = new object[] { rawess, cype};
var funcName = "validate"; Jurassic.ScriptEngine engine = new Jurassic.ScriptEngine();
string script = JsConsts.JsCodes;
engine.Execute(script); var dd = engine.GetGlobalValue("WAValidator");
var validatefunc = ((ObjectInstance)dd).Properties.Where(q=>q.Key== "validate").First();
engine.SetGlobalValue("validate", validatefunc.Value);//这一步骤是手动把 函数 加入到global中,以方便下面代码 调用。
var d = engine.CallGlobalFunction<bool>(funcName, para); return d;
}

4.执行通过,完美输出 js结果!注意,我的js文件是 最后的mini压缩版本, 使用了requirejs等打包后的结果。

C#执行javascript代码,执行复杂的javascript代码新方式的更多相关文章

  1. javaScript代码执行顺序

    javaScript是一种描述型脚本语言,由浏览器进行动态的解析和执行. 页面加载过程中,浏览器会对页面上载入的每个js代码块进行扫描. JavaScript是一段一段的分析执行的,在分析执行同一段代 ...

  2. 浏览器环境下JavaScript脚本加载与执行探析之代码执行顺序

    本文主要基于向HTML页面引入JavaScript的几种方式,分析HTML中JavaScript脚本的执行顺序问题 1. 关于JavaScript脚本执行的阻塞性 JavaScript在浏览器中被解析 ...

  3. 用 console.time()和 console.timeEnd() 测试你的 javascript 代码执行效率

    无意中学习到了一种测试 javascript 代码执行效率的一种方法,就记下来便于以后使用,用到了console对象中的  time  和  timeEnd  方法 . console.time('m ...

  4. JavaScript 代码执行顺序

    一.先预处理后执行 在一个JavaScript文件或一个JavaScript代码块的内部,浏览器会先对代码进行预处理(编译),然后再执行. 预处理会跳过执行语句,只处理声明语句,同样也是按从上到下按顺 ...

  5. 浅谈javascript引擎执行代码的步骤-(2019-2)

    平时面试经常会遇到类似下面的这种题,而且千变万化,让人一个头两个.示例这道题算是稍微有点难度的了,这种题考查的是JavaScript引擎执行代码的步骤. b = 'cba'; function a(a ...

  6. 详解JavaScript的任务、微任务、队列以及代码执行顺序

    摘要: 理解JS的执行顺序. 作者:前端小智 原文:详解JavaScript的任务.微任务.队列以及代码执行顺序 思考下面 JavaScript 代码: console.log("scrip ...

  7. Javascript 的执行环境(execution context)和作用域(scope)及垃圾回收

    执行环境有全局执行环境和函数执行环境之分,每次进入一个新执行环境,都会创建一个搜索变量和函数的作用域链.函数的局部环境不仅有权访问函数作用于中的变量,而且可以访问其外部环境,直到全局环境.全局执行环境 ...

  8. Javascript自执行匿名函数(function() { })()的原理分析

    匿名函数指没有指定函数名或指针的函数,自执行匿名函数只是其中一种,下文中称这种函数为:自执行函数 下面是一个最常见的自执行函数: // 传统匿名函数 (function() { alert('hell ...

  9. javascript 中的location.href 并不是立即执行的,是在所在function 执行完之后执行的。

    javascript 中的location.href 并不是立即执行的,是在所在function 执行完之后执行的. 1 function getUrl(tp) { if (tp == 'd') { ...

随机推荐

  1. 【385】itertools 的 product 和 chain 和 accumulate

    参考:itertools模块 product 相当于返回两个集合中数据的所有组合可能 Examples from Eric Martin from itertools import product p ...

  2. Spring格式化注解

    Spring Framework 3.0发布了.这里我们介绍其中的一个:用于格式化的注解.简介 Spring 3 提供了两个可以用于格式化数字.日期和时间的注解@NumberFormat和@DateT ...

  3. ArcGIS案例学习笔记-批处理擦除挖空挖除相减

    ArcGIS案例学习笔记-批处理擦除挖空挖除相减 联系方式:谢老师,135-4855-4328,xiexiaokui#qq.com 目的:批处理擦除.挖空.挖除.相减 数据源:chp13/ex5/pa ...

  4. Windows Server 2012开启磁盘性能计数器

    Windows Server 2012默认情况下已经禁用了磁盘性能计数器,打开任务管理器后,无法像Win8一样在性能选项卡中看到“磁盘”使用情况,可能是因为微软考虑到安装此服务器系统的硬件都会非常好, ...

  5. C# HttpWebRequest 模拟下载

    C# web 获取服务端cookie 原文地址:https://www.cnblogs.com/louby/p/5569536.html C#多线程环境下调用 HttpWebRequest 并发连接限 ...

  6. godep 包管理

    go get -u -v github.com/tools/godep  godep save

  7. webpack 学习

    ·1.https://www.2cto.com/kf/201711/696035.html 2. http://blog.csdn.net/x550392236/article/details/784 ...

  8. python 之面向对象

    继承粗体文本 标签(空格分隔): 继承 什么是继承: 继承是指类与类之间的关系,是一种什么"是"什么的关系,继承的功能之一就是用来解决代买重用问题,继承是一种创建新类的方式,在py ...

  9. DNS隧道 iodns

    通过iodns这个工具也能搭建DNS隧道 iodns的优点: 对下行数据不进行编码,速度快 支持多平台 最大16个并发连接 强制密码设定 iodns创建的DNS隧道网段不能喝服务器,客户端同一网段,比 ...

  10. JMeter学习(二十九)自动化badboy脚本开发技术(转载)

    转载自 http://www.cnblogs.com/yangxia-test 一般人用badboy都是使用它的录制功能,其它badboy还是一款自动化的工具,它可以实现检查点.参数化.迭代.并发.报 ...