Rumah > pembangunan bahagian belakang > C++ > Bagaimana untuk Menghuraikan dan Melaksanakan Kod JavaScript dalam Aplikasi C#?

Bagaimana untuk Menghuraikan dan Melaksanakan Kod JavaScript dalam Aplikasi C#?

Mary-Kate Olsen
Lepaskan: 2024-12-29 10:37:10
asal
286 orang telah melayarinya

How to Parse and Execute JavaScript Code within a C# Application?

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"));
Salin selepas log masuk

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));
}
Salin selepas log masuk

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; }
}
Salin selepas log masuk

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
}
Salin selepas log masuk

Berikut adalah sumber penuh:

(lihat disediakan kod)

Penggunaan:

  1. Buat objek ScriptEngine untuk bahasa skrip yang diingini.
  2. Gunakan kaedah Eval atau Parse untuk menilai atau menghuraikan teks skrip.
  3. Untuk memanggil kaedah atau mengakses sifat, gunakan objek ParsedScript yang dikembalikan oleh Parse.
  4. Untuk menetapkan item bernama, gunakan kaedah SetNamedItem ScriptEngine.

Nota:

  • Kelas ScriptEngine ialah pembalut di sekeliling Enjin Skrip Windows.
  • Kelas ParsedScript mewakili skrip dihuraikan yang boleh dinilai.
  • Item bernama membolehkan anda menghantar objek ke enjin skrip.

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan