C# + IE9 JS引擎Chakra?

4
我正在开发一款很酷的C#应用程序,它在模型层中大量使用JS。我们想要使用IE9 Chakra Javascript引擎来提高速度。
问题:
1.我能否在C#中使用Chakra,并将JS对象作为COM对象进行交互?(调用JS对象上的函数)
2.我能否单独安装Chakra而不安装IE9?(有些用户没有安装IE9,如果他们不必安装IE9而只需安装Chakra,则会更容易。)
非常感谢您的专业知识。
2个回答

7

问题1的答案

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

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

相关:

问题2的答案

据我所知,不行,你无法在不安装IE9的情况下安装Chakra。但是,您可以设计您的C#应用程序,以优雅地降级使用现有的JScript引擎,以适应没有Chakra的计算机。


你能帮我解决这个问题吗:https://stackoverflow.com/questions/48150043/getting-unable-to-load-chakra-core-dll-error-while-running-hello-world-sample - ILoveStackoverflow

2

[更新] 根据Cheeso的回答,似乎可以使用IE9的JS引擎[/更新]。然而,我发现V8 JavaScript引擎(Chrome的JS引擎)提到你可以在C++应用程序中使用V8引擎。请按照V8嵌入式指南了解更多信息。我没有找到任何参考资料,其中他们提到通过COM接口公开V8功能,因此您可能无法从C#中使用它。


Bump. 有关这个的任何消息吗?你听说微软将来可能会实现这个功能的任何更新吗? - Bodekaer
不,我没有这样的信息。你有查看过http://projects.nikhilk.net/ScriptSharp吗?那对你有用吗? - Pradeep
这个答案是错误的。与IE9 JS引擎进行交互是可能的。请参见我的答案。https://dev59.com/U1XTa4cB1Zd3GeqP25Fj#7433549 - Cheeso

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接