C# 執行Javascript腳本


該測試在.netcore環境中執行。

1.引用微軟提供的包"Microsoft.ClearScript"。

2.編寫好Javascript腳本。

function testFunc(t) {
    return t + ",這是一個演示腳本";
}

3.在項目中添加C#代碼。

using (var engine = new V8ScriptEngine())
{

    string testScript = System.IO.File.ReadAllText("demo.js", System.Text.Encoding.UTF8);

    engine.Execute(testScript);
    //直接C#函數調用
    var rValue = engine.Script.testFunc("你好");
    Console.WriteLine(rValue); //你好,這是一個演示腳本

    //或者使用腳本調用
    var rValue2 = engine.Invoke("testFunc", "你好");
    Console.WriteLine(rValue2); //你好,這是一個演示腳本
}

 

4.其他使用方法和相關文檔,可以訪問項目的相關鏈接

源碼地址:https://github.com/microsoft/ClearScript

例  子:https://microsoft.github.io/ClearScript/Examples/Examples.html

 

5.使用ClearScript需要注意的。

  • 如果JavaScript代碼中有window等瀏覽器對象,執行engine.Execute(testScript);會報錯。
  • 如果腳本中有未定義的對象,同樣執行engine.Execute(testScript);也會報錯。
  • 如果想執行多個文件,只需要將多個文件拼接成一個字符串即可。
  • 考慮到某一個JavaScript腳本文件是不能修改情況下,腳本文件可以看成包含輸入輸出的模塊。模塊中用到的成員變量可以自己定義一個JavaScript腳本文件進行適配。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM