C#调⽤JS的⼏种⽅法
⼿动执⾏
从官⽅下载,拷贝它与要执⾏的js同⽬录
打开cmd,输⼊命令⾏(参考官⽅资料的命令⾏)
1
phantomjs XX.js 参数1 参数2
获得结果
使⽤C#执⾏
//注意:保证和js在⽣成⽬录下存在
string url ="传参";
//这⾥调⽤
Process pProcess =new Process();
//调⽤
pProcess.StartInfo.FileName = $"所在路径(可以是相对路径)";
pProcess.StartInfo.RedirectStandardOutput =true;
pProcess.StartInfo.UseShellExecute =false;
pProcess.EnableRaisingEvents =false;
//在⾥⾯执⾏的命令
pProcess.StartInfo.Arguments = $"Test2.js所在路径(可以是相对路径) {url}";
pProcess.Start();
char[] spliter ={'\r'};
StreamReader sReader = pProcess.StandardOutput;
string[] output = sReader.ReadToEnd().Split(spliter);
foreach(string s in output)
Console.WriteLine(s);
pProcess.WaitForExit();
//取出计算结果
Console.WriteLine(output[0]);
pProcess.Close();
JS如下:
function Test(){
//创建phantomjs对象
var system =require('system');
/
/取出参数
var data = system.args[1];
console.log(Math.floor(data));
}
Test();
//引⽤:Jint
js argumentsstring filePath = $"{Environment.CurrentDirectory}//ExcuteJs//TestJs.js";
string data1 ="1";
string data2 ="2";
string jsCode = System.IO.File.ReadAllText(filePath);
var square =new Engine()
.SetValue("data1", data1)// define a new variable
.SetValue("data2", data2)// define a new variable
.Execute(jsCode)// execute a statement
.GetCompletionValue()// get the latest statement completion value
.ToObject();// converts the value to .NET
2.Microsoft.JScript
3.使⽤CefSharp创造浏览器环境
(PS:还有⼏篇关于CefSharp的资料,在此不⼀⼀列出)
⽐较绕的⼀种⽅式
控制台http请求⽹页->⽹页调⽤js->得到结果js对象->结果返回给控制台(即时通讯:SignalR)以上就是C#调⽤JS的⼏种⽅法的详细内容,更多关于C#调⽤JS的资料
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论