這篇文章給大家介紹利用C#怎么對JavaScript進(jìn)行調(diào)用,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
手動執(zhí)行
從官方下載phantomjs.exe,拷貝它與要執(zhí)行的js同目錄
打開cmd,輸入命令行(參考官方資料的命令行)
phantomjs XX.js 參數(shù)1 參數(shù)2
獲得結(jié)果
//注意:保證phantomjs.exe和js在生成目錄下存在 string url = "傳參"; //這里調(diào)用cmd.exe Process pProcess = new Process(); //調(diào)用phantomjs.exe pProcess.StartInfo.FileName = $"phantomjs.exe所在路徑(可以是相對路徑)"; pProcess.StartInfo.RedirectStandardOutput = true; pProcess.StartInfo.UseShellExecute = false; pProcess.EnableRaisingEvents = false; //在phantomjs.exe里面執(zhí)行的命令 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(); //取出計(jì)算結(jié)果 Console.WriteLine(output[0]); pProcess.Close(); JS如下: function Test() { //創(chuàng)建phantomjs對象 var system = require('system'); //取出參數(shù) var data = system.args[1]; console.log(Math.floor(data)); } Test(); phantom.exit();
C#調(diào)用JS庫
//引用:Jint string 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
關(guān)于利用C#怎么對JavaScript進(jìn)行調(diào)用就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。