【问题标题】: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 的参考在这里。

    【讨论】:

    • 追随 MS 所做的事情非常令人困惑。 Chakra(JScript) 在 IE9-11 中使用,然后 ChakraCore 是从原来的 Chakra 分叉出来的,它成为了 IE Edge 的 JavaScript 引擎。 Web 浏览器控件使用 IE 9 - 11 我猜所以它使用了 old Chakra 引擎。有那个旧脉轮的 API 吗? en.wikipedia.org/wiki/List_of_ECMAScript_engines
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-31
    • 1970-01-01
    • 1970-01-01
    • 2013-01-18
    • 1970-01-01
    • 2015-01-30
    • 1970-01-01
    相关资源
    最近更新 更多