C#winform调用JavaScript方法

2025-10-06 12:34:35

1、打开解决方案:

然后 添加引用。

C#winform调用JavaScript方法

2、然后找到并添加引用。

C#winform调用JavaScript方法

3、调用方法:

我这里写了一个方法。

 /// <summary>

       /// 调用JavaScript 方法

       /// </summary>

       /// <param name="method">方法名</param>

       /// <param name="pars">方法参数</param>

       /// <param name="jspath">要调用方法的JavaScript文件路径</param>

       /// <returns></returns>

        public static object RunScript(string method, string[] pars, string jspath)

        {

            

            ScriptControlClass sc = new ScriptControlClass();

            sc.Language = "javascript";

            string javascript1 = GetStringFromFile(jspath);

            sc.AddCode(javascript1);

            string temppars = "";

            foreach (string s in pars)

            {

                temppars += "'" + s + "',";

            }

            //去除最后一个,

            temppars = temppars.Remove(temppars.LastIndexOf(","));

            temppars += ")";

            string mainCons = method + "(" + temppars;

            object obj = sc.Eval(mainCons);

            return obj;

        }

其实无非即使 通过这个方法,将要调用的JavaScript文件读取进入,最后执行。

4、关于执行:

比如我这里调用:JavaScript文件的 hex2char 方法。

public static string GetTestMethod(string[] args,string loginMain)

        {

            return CF.RunScript("hex2char", args, loginMain).ToString();

        }

即调用hex2char 方法来获取MD5加密后的字符串。

实际调用:

 CF.passWord = CF.GetTestMethod(new string[] { CF.theQQPass, CF.saltKey, CF.verfiyCode, CF.theQQ }, CF.loginMain);

C#winform调用JavaScript方法

5、注意有一个需要注意的问题:;

一般需要调用JavaScript文件只是需要获取js文件某一个方法的执行结果。

如果在这个JavaScript文件中具有 浏览器BOM对象,如 WINDOW  ,document等会出现错误。

提示找不到对象。

那么最好是要么自定义一个对象,要么,删除这些BOM对象以及他的引用。

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢