javascript - 等效于 WebView2 控件中的 WebBrowser.ObjectForScripting 和 WebBrowser.Document

标签 javascript .net webbrowser-control chromium webview2

提前致谢。

在我的应用程序中,我将 WebBrowser 控件替换为 Microsoft 的 WebView2 .

我想知道 WebView2 中 WebBrowser 控件的以下成员的等价物。

  • WebBrowser.ObjectForScripting
  • WebBrowser.Document

  • 有人有答案吗?再次感谢。

    最佳答案

    1. WebBrowser.ObjectForScripting:您应该可以使用 AddHostObjectToScript API

    WebView2.CoreWebView2.AddHostObjectToScript(...)
    

    2. WebBrowser.文档: WebView2 没有提供像这样直接与 DOM 交互的方法。根据您要完成的工作,您可以获取页面的 HTML 以进行检查,或者使用脚本注入(inject)代替对文档对象模型进行操作。

    要获取 HTML,您可以查看 VB.Net Webview2 How can I get html source code?How to obtain html contents of the page .

    对于脚本注入(inject),您可以查看 this question 的答案使用 ExecuteScriptAsync 引用或网络消息传递。

    你也可以试试这个 3rd-party 项目,它旨在控制 DOM,类似于 WebBrowser.Document 所做的:https://github.com/ukandrewc/Webview2.Winforms.DOM

    关于javascript - 等效于 WebView2 控件中的 WebBrowser.ObjectForScripting 和 WebBrowser.Document,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62427461/

    相关文章:

    javascript - 如果用户单击屏幕上的任意位置如何关闭菜单?

    javascript - 如何打印 $rootScope 变量?

    c# - 如何跳出 C# 中的 foreach 循环?

    c# - 如果类更改,是否需要重新编译和重新部署项目中的所有程序集?

    .net - VB.NET 中的赋值运算符 "="

    c# - 具有自动代理登录的 WebBrowser 控件

    vba - Access 网络浏览器控制和 Google map

    javascript - 尝试清理 lodash 中的对象键

    c# - 为什么 WebBrowser DocumentCompleted 仅在加载所有图像时触发?

    javascript - 提交时形成 vue.js,如何使用自定义 id 链接到外部网站? "error: Cannot read property ' 未定义的调度”