zoukankan      html  css  js  c++  java
  • C#执行javascript代码,执行复杂的javascript代码新方式

    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等打包后的结果。

  • 相关阅读:
    《构建之法》心得体会
    简单工厂模式加减乘除器
    个人简介
    单元测试和代码覆盖率工具的使用
    Bookstore系统缺陷报告
    《构建之法读后感》
    3137102432_ 施少兵_ lab3
    3137102432_施少兵_实验2
    个人简介
    第六次作业:购物系统缺陷
  • 原文地址:https://www.cnblogs.com/x-poior/p/9498113.html
Copyright © 2011-2022 走看看