gpt4 book ai didi

c# - 从 WebBrowser 控件向父应用程序发送消息

转载 作者:可可西里 更新时间:2023-11-01 16:40:05 24 4
gpt4 key购买 nike

我有两个应用程序:

  • 旧版,用 .net 编写
  • 具有出色的 html5/js 功能的现代网络应用

我想让它们共存,所以我正在考虑整合一个 WebBrowser ActiveX control在我的 .net 应用程序中。我想了解我能让他们交流的“深度”,更具体地说:

我可以从 webapp 向父 .net app 发送哪种类型的信息?

在 Microsoft 文档中,有几个事件与 WebBrowser 类关联,例如 Navigated似乎每次 webapp 的 url 更改时都会触发。所以我可以想象一种机制:

这听起来像是一个乏味的过程,所以:

  • 有比这个想法更高层次的东西吗?一开始,我期待类似 window.postMessage 的东西方法?
  • 如果没有,是否有一个库可以提供更高级别的 api 来更轻松地执行此类操作?

最佳答案

我认为您可以使用此技术在现代应用程序中的 javascript 代码和您的 C# 主机应用程序之间架起一座桥梁 https://learn.microsoft.com/en-us/dotnet/framework/winforms/controls/implement-two-way-com-between-dhtml-and-client

它允许从 JS 执行 C# 代码以及从 C# 调用 JS。您需要将 WebBrowser 控件的 ObjectForScripting 属性设置为 C# 对象,将调用该对象的方法,然后调用它

window.external.YourCSharpObjectMethod('called from JS code');

关于c# - 从 WebBrowser 控件向父应用程序发送消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52534076/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com