是否有一种方法可以在用 XAML 和 C# 编写的 winrt 应用程序中评估在运行时从外部源加载的 JavaScript 表达式?
考虑以下伪代码:
String expression = File.ReadAll(somefile);
String result = AnyJavascriptEngineAvailableUnderWinRT.Evaluate(expression);
在winrt之前,我们一直使用Microsoft.JScript引擎。 现在,使用winrt,我们一直在尝试Jint,导致运行时异常“The API 'System.Type.ReflectionOnlyGetType(System.String, Boolean, Boolean)'无法在当前平台上使用。请参阅 http://go.microsoft.com/fwlink/?LinkId=248273 了解更多信息”
说实话,我更喜欢解决 winrt 附带的内置 javascript 引擎,但如果它允许动态计算表达式,我也会接受“AnyJavascriptEngineAvailableUnderWinRT”。
最佳答案
您可以通过 WebView
直接访问 IE 来轻松完成此操作。
像这样:
var js = "whatever you want";
var webView = new WebView();
var result = webView.InvokeScript("eval", new[] { js });
祝你好运!
关于c# - 在 winrt/xaml/c# 应用程序中动态评估 JavaScript 表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17922846/