如何从C#.Net Webbrowser对象访问javascript变量?
我想从我的C#.Net Winform应用程序创建一个Webbrowser.Net对象,然后能够访问javascript变量 基本上,我希望在我的主Winform应用程序中根据设置javascript变量的一些用户交互来执行一些操作 关于如何调用Webbrowser对象来执行此操作,有什么建议吗 注意,我确实查看了Document属性,它允许您获取DOM,但不理解如何/如果可以使用它获取javascript变量 Dan利用一个铬嵌入式框架,它可以对您的webbrowser组件进行更多的控制 开始如何从C#.Net Webbrowser对象访问javascript变量?,javascript,c#,.net,Javascript,C#,.net,我想从我的C#.Net Winform应用程序创建一个Webbrowser.Net对象,然后能够访问javascript变量 基本上,我希望在我的主Winform应用程序中根据设置javascript变量的一些用户交互来执行一些操作 关于如何调用Webbrowser对象来执行此操作,有什么建议吗 注意,我确实查看了Document属性,它允许您获取DOM,但不理解如何/如果可以使用它获取javascript变量 Dan利用一个铬嵌入式框架,它可以对您的webbrowser组件进行更多的控制 开始
- 启动VS项目
- 打开nuget控制台并执行:
,如果您正在使用WinForms C#App安装软件包CefSharp.WinForms
- 重新启动Visual studio并重新加载项目
- 从工具箱向窗体添加toolStripContainer,然后使用以下示例代码加载浏览器组件 公共表格1() { 初始化组件(); var浏览器=新的ChromiumWebBrowser(“”) }
EvaluateScript
接口
看看下面的资源。
在WinForms浏览器中,使用该属性处理WinForms应用程序和
WebBrowser
的文档之间的双向通信
您可以通过文档
对象从C#调用javascript成员:
// C# code
webBrowser1.Document.InvokeScript("test",
new String[] { "called from client code" });
将ObjectForScripting指定为
// C# code
webBrowser1.ObjectForScripting = obj;
似乎允许托管javascript调用obj
的成员,例如
// javascript code
window.external.SomeMethod('called from script code');
// executes obj.SomeMethod(string) in C#
免责声明:我只有使用WPF web浏览器的经验,所以我自己还没有验证上述内容
// javascript code
window.external.SomeMethod('called from script code');
// executes obj.SomeMethod(string) in C#