C#+ IE9 JS Engine Chakra?
我正在开发一个很酷的C#应用程序,它为我们的模型层使用了很多JS。 我们想使用IE9 Chakra Javascript引擎来提高速度。
问题:
- 我可以在C#中使用Chakra,并与JS对象作为COM对象进行交互吗? (调用JS对象上的函数)
- 我可以单独从IE9安装Chakra吗? (有些用户没有安装IE9,所以如果他们不必安装IE9就会更容易,但只需要Chakra)。
非常感谢您的专业知识。
[更新]根据Cheeso的回答,似乎你可以使用IE9的JS引擎[/ Update]。 但是我发现V8 JavaScript引擎(Chrome的JS引擎)提到你可以在你的C ++应用程序中使用V8引擎。 按照V8嵌入器的指南了解更多信息。 我没有找到任何参考,他们提到通过COM接口暴露V8function,所以你可能无法从C#中使用它。
回答Q#1
是的,您可以通过COM与C#中运行的Javascript逻辑进行交互。
特别是,从ac#program,你可以通过IActiveScript启动Chakra,加载一些Javascript / ES5代码,然后通过COM IDispatch指针调用该Javascript代码中定义的方法。
有关:
- IE10 Chakra JScript引擎是否可以作为独立的C#访问?
- 什么是IE9的Javascript引擎的ProgId或CLSID(代号为“Chakra”)
回答Q#2
据我所知,不,你不能安装Chakra而不安装IE9。 但是,对于没有Chakra的计算机,您可以设计您的C#应用程序以优雅地降级以使用现有的JScript引擎。