最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#調(diào)用JS的幾種方法

 更新時間:2020年12月29日 08:54:10   作者:Lulus  
這篇文章主要介紹了C#調(diào)用JS的幾種方法,幫助大家更好的理解和使用c#,感興趣的朋友可以了解下

cmd調(diào)用phantomjs

官方資料:http://phantomjs.org/quick-start.html

手動執(zhí)行

從官方下載phantomjs.exe,拷貝它與要執(zhí)行的js同目錄
打開cmd,輸入命令行(參考官方資料的命令行)

phantomjs XX.js 參數(shù)1 參數(shù)2

獲得結果

使用C#執(zhí)行

//注意:保證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();

//取出計算結果
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();

示例代碼:https://github.com/zLulus/NotePractice/tree/dev3/Console/CodeLibrary/ExcuteJsByPhantomjs

C#調(diào)用JS庫

1.jint:https://github.com/sebastienros/jint

可用,但是沒有JS的環(huán)境
jQuery support:https://github.com/sebastienros/jint/issues/240

//引用: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

示例代碼:https://github.com/zLulus/NotePractice/tree/dev3/Console/CodeLibrary/ExcuteJs

2.Microsoft.JScript

https://docs.microsoft.com/zh-cn/dotnet/api/microsoft.jscript?redirectedfrom=MSDN&view=netframework-4.8&WT.mc_id=DT-MVP-5003010

3.使用CefSharp創(chuàng)造瀏覽器環(huán)境

CefSharp參考我的資料:https://www.cnblogs.com/Lulus/p/7998297.html

(PS:還有幾篇關于CefSharp的資料,在此不一一列出)

4.Microsoft.ClearScript(比較新,沒有實驗)    
https://github.com/Microsoft/ClearScript  

比較繞的一種方式

控制臺http請求網(wǎng)頁->網(wǎng)頁調(diào)用js->得到結果js對象->結果返回給控制臺(即時通訊:SignalR)

即時通訊參考我的資料:http://www.cnblogs.com/Lulus/p/8780595.html

比較麻煩的一種方式

JS翻譯成C#……是的,翻譯=.=

以上就是C#調(diào)用JS的幾種方法的詳細內(nèi)容,更多關于C#調(diào)用JS的資料請關注腳本之家其它相關文章!

相關文章

  • C#中把任意類型的泛型集合轉換成SQLXML數(shù)據(jù)格式的實例

    C#中把任意類型的泛型集合轉換成SQLXML數(shù)據(jù)格式的實例

    本文主要分享了C#中把任意類型的泛型集合轉換成SQLXML數(shù)據(jù)格式的實例代碼。具有很好的參考價值,需要的朋友可以看下
    2016-12-12
  • C#程序啟動項的設置方法

    C#程序啟動項的設置方法

    這篇文章主要為大家詳細介紹了C#程序啟動項的設置方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-11-11
  • C#實現(xiàn)文件與二進制互轉并存入數(shù)據(jù)庫

    C#實現(xiàn)文件與二進制互轉并存入數(shù)據(jù)庫

    這篇文章主要介紹了C#實現(xiàn)文件與二進制互轉并存入數(shù)據(jù)庫,本文直接給出代碼實例,代碼中包含詳細注釋,需要的朋友可以參考下
    2015-06-06
  • vista和win7在windows服務中交互桌面權限問題解決方法:穿透Session 0 隔離

    vista和win7在windows服務中交互桌面權限問題解決方法:穿透Session 0 隔離

    服務(Service)對于大家來說一定不會陌生,它是Windows 操作系統(tǒng)重要的組成部分。我們可以把服務想像成一種特殊的應用程序,它隨系統(tǒng)的“開啟~關閉”而“開始~停止”其工作內(nèi)容,在這期間無需任何用戶參與
    2016-04-04
  • 詳解C#中委托的概念與使用

    詳解C#中委托的概念與使用

    委托這個名字取的神乎其神的,但實質(zhì)是函數(shù)式編程,把函數(shù)作為參數(shù)傳遞給另一個參數(shù)。這篇文章主要為大家介紹一下C#中委托的概念與使用,需要的可以參考一下
    2023-02-02
  • C#基礎入門之值類型和引用類型的區(qū)別詳析

    C#基礎入門之值類型和引用類型的區(qū)別詳析

    在C#中值類型的變量直接存儲數(shù)據(jù),而引用類型的變量持有的是數(shù)據(jù)的引用,數(shù)據(jù)存儲在數(shù)據(jù)堆中,下面這篇文章主要給大家介紹了關于C#基礎入門之值類型和引用類型區(qū)別的相關資料,需要的朋友可以參考下
    2021-09-09
  • C#中判斷一個集合是否是另一個集合的子集的簡單方法

    C#中判斷一個集合是否是另一個集合的子集的簡單方法

    本文介紹利用C#中內(nèi)置的系統(tǒng)函數(shù)判斷一個集合是否是一個集合的子集的方法,此方法代碼量極少,分享給大家。
    2016-04-04
  • Unity 實現(xiàn)貼花效果的制作教程

    Unity 實現(xiàn)貼花效果的制作教程

    有些游戲中的戰(zhàn)斗痕跡的效果會通過貼花來實現(xiàn)的,貼花的方式多種多樣。而在Unity中,有一種給官方文檔提供代碼的解決方案。本文將這些代碼的基礎上做一個繪圖的貼花效果,感興趣的童鞋可以參考一下
    2021-11-11
  • C#中值類型和引用類型的區(qū)別深度分析

    C#中值類型和引用類型的區(qū)別深度分析

    這篇文章主要介紹了C#中值類型和引用類型的區(qū)別深度分析,以通俗易懂的語言形象化的分析了C#中值類型和引用類型的區(qū)別,對于深入理解C#數(shù)據(jù)類型有著不錯的參考借鑒價值,需要的朋友可以參考下
    2014-11-11
  • C#自定義集合初始化器

    C#自定義集合初始化器

    這篇文章介紹了C#自定義集合初始化器的方法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-07-07

最新評論

从江县| 花垣县| 乳源| 秦安县| 惠安县| 天峻县| 巴彦淖尔市| 思茅市| 邯郸县| 镇宁| 冀州市| 清苑县| 新营市| 方山县| 隆德县| 青川县| 莲花县| 江阴市| 滦平县| 临朐县| 松原市| 阿勒泰市| 文登市| 广平县| 涟源市| 天祝| 紫金县| 梅河口市| 巴里| 金山区| 金秀| 偃师市| 离岛区| 福鼎市| 防城港市| 盖州市| 鄄城县| 丽江市| 汾西县| 泗水县| 明水县|