Heim > Backend-Entwicklung > C++ > Wie kann ich JavaScript-Code in einer C#-Anwendung analysieren und ausführen?

Wie kann ich JavaScript-Code in einer C#-Anwendung analysieren und ausführen?

Susan Sarandon
Freigeben: 2024-12-27 20:01:12
Original
946 Leute haben es durchsucht

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

Um JS in C# zu analysieren und auszuführen, können Sie das bereitgestellte Code-Snippet verwenden. Es umschließt die Windows-Skript-Engines und unterstützt 32-Bit- und 64-Bit-Umgebungen. In Ihrem speziellen Fall müssen Sie je nach .JS-Code möglicherweise einige HTML-DOM-Elemente emulieren/implementieren (mithilfe der Funktion „Benannte Elemente“ mit der MyItem-Klasse). Genau das macht Internet Explorer.

Hier sind einige Beispiele dafür, was Sie damit machen können:

1) Auswertung direkter Ausdrücke:

Console.WriteLine(ScriptEngine.Eval("jscript", "1+2/3"));
Nach dem Login kopieren

zeigt 1,66666666666667 an

2) Funktionsaufruf, optional Argumente:

using (ScriptEngine engine = new ScriptEngine("jscript"))
{
  ParsedScript parsed = engine.Parse("function MyFunc(x){return 1+2+x}");
  Console.WriteLine(parsed.CallMethod("MyFunc", 3));
}
Nach dem Login kopieren

Hier wird 6 angezeigt.

3) Funktionsaufruf mit benannten Elementen und optionalen Argumenten:

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; }
}
Nach dem Login kopieren

Hier wird 10 angezeigt.

Bearbeiten: Ich habe die Möglichkeit hinzugefügt, eine CLSID anstelle eines Skriptsprachennamens zu verwenden, damit wir das können Verwenden Sie die neue und schnelle IE9-Javascript-Engine „Chakra“ wie folgt wieder:

using (ScriptEngine engine = new ScriptEngine("{16d51579-a30b-4c8b-a276-0ff4dc41e755}"))
{
    // continue with chakra now
}
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie kann ich JavaScript-Code in einer C#-Anwendung analysieren und ausführen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage