Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Menghuraikan dan Melaksanakan Kod JavaScript dalam Aplikasi C#?
Cara Menghuraikan dan Melaksanakan JavaScript dalam C#
Dalam contoh kod ini, kami membalut Enjin Skrip Windows untuk menyokong 32-bit dan 64 -bit environments.
Untuk kes khusus anda, ini bermakna bergantung pada kod .JS, anda mungkin perlu meniru/melaksanakan beberapa elemen DOM HTML seperti 'dokumen', 'tetingkap', dsb. (menggunakan ciri 'item bernama', dengan kelas MyItem. Itulah yang dilakukan oleh Internet Explorer).
Berikut adalah beberapa contoh perkara yang boleh anda lakukan dengannya:
1) Penilaian ungkapan langsung:
Console.WriteLine(ScriptEngine.Eval("jscript", "1+2/3"));
akan dipaparkan 1.66666666666667
2) Panggilan fungsi, dengan argumen pilihan:
using (ScriptEngine engine = new ScriptEngine("jscript")) { ParsedScript parsed = engine.Parse("function MyFunc(x){return 1+2+x}"); Console.WriteLine(parsed.CallMethod("MyFunc", 3)); }
Akan memaparkan 6
3) Panggilan fungsi dengan item bernama dan argumen pilihan:
using (ScriptEngine engine = new ScriptEngine("jscript")) { ParsedScript parsed = engine.Parse("function MyFunc(x){return 1+2+x+My.Num}"); MyItem item = new MyItem(); item.Num = 4; engine.SetNamedItem("My", item); Console.WriteLine(parsed.CallMethod("MyFunc", 3)); } [ComVisible(true)] // Script engines are COM components. public class MyItem { public int Num { get; set; } }
Akan dipaparkan 10.
Edit: Kami telah menambah kemungkinan untuk menggunakan CLSID dan bukannya nama bahasa skrip, jadi kami boleh menggunakan semula enjin javascript "chakra" IE9 yang baharu dan pantas, seperti ini:
using (ScriptEngine engine = new ScriptEngine("{16d51579-a30b-4c8b-a276-0ff4dc41e755}")) { // continue with chakra now }
Berikut adalah sumber penuh:
(lihat disediakan kod)
Penggunaan:
Nota:
Atas ialah kandungan terperinci Bagaimana untuk Menghuraikan dan Melaksanakan Kod JavaScript dalam Aplikasi C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!