【问题标题】:WinForms WebBrowser control's JavaScript execution contextWinForms WebBrowser 控件的 JavaScript 执行上下文
【发布时间】:2017-12-06 16:09:32
【问题描述】:
我在我的 C# 应用程序中使用 WinForms WebBrowser 控件,我可以通过在控件的 ObjectForScripting 属性中设置一个 COM 类来与网页上的 JS 代码进行交互。
是否可以从 Web 浏览器控件中获取我可以与 ChakraCore API 一起使用的 JavaScriptContext 对象?
【问题讨论】:
标签:
winforms
webbrowser-control
javascript-engine
chakracore
【解决方案1】:
不,先生,ChakraCore 是 Microsoft Edge JavaScript 引擎的一部分。它实际上是一个单独的引擎。 Web 浏览器控件使用 IE 的引擎。诚然,当 MS 的开发团队将 IE 9 之前的引擎称为 Chakra 时,将 MS Edge Engine Chakra 称为 Chakra 并没有帮助。
无论如何,如果您想从 C# 使用/嵌入 ChakraCore 引擎,他们确实创建了一个入门页面。我会链接它here。
winforms Webbrowser 控制引擎的API 是here。它是 COM API 的包装器。如果您需要使用 COM api 来执行高级操作,您将需要 MSHTML,您将其添加为对 Microsoft Html 对象库的 COM 引用。 MSHTML 的参考在这里。