C癜はMsieJavaScript Egineエンジンを使ってJavaScriptを実行します.
8701 ワード
これを使ってjsスクリプトエンジンコード生成器を実現しましたが、調査する時にはこのものの資料が少ないです.
私は自分のこのような応用によって解説します.間違いがあったら、園友に指摘してもらいます.
Nugetでインストールする MsieJava Script Egine
私が使っているのは 3.0.3バージョンです
アメリカを追加
コアコード
usingを使用してエンジンの自動放出を保証し、配置に入る. UseJson 2 Library=trueはjson 2.jsを使う方法です.
このJSON 2については、chromeなどの現代ブラウザにJSONグローバル変数があります.この変数には、2つの方法があります.Strigify(Jsオブジェクトをjson文字列に変換)とParse(Jsオブジェクトに変換)があります.
この2つの方法はJsオブジェクトとJson文字列変換中に有用である.しかし、IEなど古いブラウザにはこのグローバル変数がありません.json 2.jsの役割は、グローバル変数JSONがあるかどうかを判断し、なければそれを作成することです.
このエンジンは本コンピュータの最高バージョンのIEカーネルを使ってJsを解析します.
自分ではSetVarable Value方法は直接対象パラメータを設定できると思います.しかし、サポートしないと、エラーが出るとは思いませんでした.
そこで、曲线救国の実现について、Jsオブジェクトにjson文字列を逆の顺番で列挙します.
すべてのアプリを添付します
名前とパラメータ名は大体直観的なので、コメントをつけないで翻訳しました.最近は忙しいです.
方法名はEmbodHostObjectのようですが、対象パラメータを設定して試してみました.物思いにふける.
私は自分のこのような応用によって解説します.間違いがあったら、園友に指摘してもらいます.
Nugetでインストールする MsieJava Script Egine
私が使っているのは 3.0.3バージョンです
アメリカを追加
1 using MsieJavaScriptEngine;
コアコード
usingを使用してエンジンの自動放出を保証し、配置に入る. UseJson 2 Library=trueはjson 2.jsを使う方法です.
このJSON 2については、chromeなどの現代ブラウザにJSONグローバル変数があります.この変数には、2つの方法があります.Strigify(Jsオブジェクトをjson文字列に変換)とParse(Jsオブジェクトに変換)があります.
この2つの方法はJsオブジェクトとJson文字列変換中に有用である.しかし、IEなど古いブラウザにはこのグローバル変数がありません.json 2.jsの役割は、グローバル変数JSONがあるかどうかを判断し、なければそれを作成することです.
このエンジンは本コンピュータの最高バージョンのIEカーネルを使ってJsを解析します.
自分ではSetVarable Value方法は直接対象パラメータを設定できると思います.しかし、サポートしないと、エラーが出るとは思いませんでした.
そこで、曲线救国の実现について、Jsオブジェクトにjson文字列を逆の顺番で列挙します.
1 using (var jsEngine = new MsieJsEngine(new JsEngineSettings() { UseJson2Library = true }))
2 {
3 jsEngine.SetVariableValue("result", "");
4 // js json
5 jsEngine.SetVariableValue("model", Json.ToJson(new EngineData(_table, _cols)));
6 // JSON.parse() js
7 jsEngine.Execute("model = JSON.parse(model);");
8
9 ResultTextBox.Text = jsEngine.Evaluate<string>(tmpl);
10 }
すべてのアプリを添付します
名前とパラメータ名は大体直観的なので、コメントをつけないで翻訳しました.最近は忙しいです.
方法名はEmbodHostObjectのようですが、対象パラメータを設定して試してみました.物思いにふける.
public object CallFunction(string functionName, params object[] args);
public T CallFunction(string functionName, params object[] args);
public void CollectGarbage();
public void Dispose();
public void EmbedHostObject(string itemName, object value);
public void EmbedHostType(string itemName, Type type);
public object Evaluate(string expression);
public object Evaluate(string expression, string documentName);
public T Evaluate(string expression);
public T Evaluate(string expression, string documentName);
public void Execute(string code);
public void Execute(PrecompiledScript precompiledScript);
public void Execute(string code, string documentName);
public void ExecuteResource(string resourceName, Type type);
public void ExecuteResource(string resourceName, Assembly assembly);
public object GetVariableValue(string variableName);
public T GetVariableValue(string variableName);
public bool HasVariable(string variableName);
public void Interrupt();
public PrecompiledScript Precompile(string code);
public PrecompiledScript Precompile(string code, string documentName);
public PrecompiledScript PrecompileFile(string path, Encoding encoding = null);
public PrecompiledScript PrecompileResource(string resourceName, Assembly assembly);
public PrecompiledScript PrecompileResource(string resourceName, Type type);
public void RemoveVariable(string variableName);
public void SetVariableValue(string variableName, object value);