c# - 在 winrt/xaml/c# 应用程序中动态评估 JavaScript 表达式

标签 c# javascript windows-8 windows-store-apps winrt-xaml

是否有一种方法可以在用 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/

相关文章:

c# - C# 枚举的奇怪行为

javascript - 这太硬编码了吗?

android - 亚行没有回应。您可以等待更多,或者杀死 "adb.exe"... windows 8

c# - 分组项目页 : View jumps back to start when navigating back from detailpage

powershell - 使用脚本;安装 Windows 应用商店应用

c# - Wpf 鼠标事件超出用户控件问题的范围

c# - 我应该在 C# 数据库调用周围放置 lock 语句吗?

c# - typeof(_Default) 使用 Log4Net 时出错

当在html表最后一行中按Enter键时,javascript插入与第一行相同的新行

javascript - Firefox 中的输入类型 "number"与 Knockout 的绑定(bind)问题