C#+ IE9 JS Engine Chakra?

时间:2011-03-25 07:37:43

标签: c# javascript internet-explorer chakra

我正在开发一个很酷的C#应用​​程序,它为我们的模型层使用了很多JS。 我们想使用IE9 Chakra Javascript引擎来提高速度。

问题:

  • 我可以在C#中使用Chakra,并与JS对象作为COM对象进行交互吗? (调用JS对象上的函数)
  • 我可以单独从IE9安装Chakra吗? (有些用户没有安装IE9,所以如果他们不必安装IE9就会更容易,但只需要Chakra)。

非常感谢您的专业知识。

2 个答案:

答案 0 :(得分:7)

回答Q#1

是的,您可以通过COM与C#中运行的Javascript逻辑进行交互。

特别是,从c#程序中,您可以通过IActiveScript启动Chakra,将一些Javascript / ES5代码加载到其中,然后通过COM IDispatch指针调用该Javascript代码中定义的方法。

相关:

回答Q#2

据我所知,不,你不能安装Chakra而不安装IE9。但是,对于没有Chakra的计算机,您可以设计您的C#应用​​程序以优雅地降级以使用现有的JScript引擎。

答案 1 :(得分:2)

[更新]基于Cheeso的回答,似乎你可以使用IE9的JS引擎[/ Update]。但是我发现V8 JavaScript engine (Chrome's JS engine)提到您可以在C ++应用程序中使用V8引擎。关注V8 embedder's guide了解详情。我没有找到任何参考,他们提到通过COM接口暴露V8功能,所以你可能无法从C#中使用它。