在 C# Web 浏览器中创建 javascript 变量全局范围

Posted

技术标签:

【中文标题】在 C# Web 浏览器中创建 javascript 变量全局范围【英文标题】:Make javascript variable global scope in C# web browser 【发布时间】:2015-10-08 09:45:17 【问题描述】:

是否有可能从 c# WebBrowser 组件中的 javascript 读取局部变量?在像 Chrome 这样的标准网络浏览器中,我可以通过调试器(谷歌开发者工具)访问局部变量,然后我可以像这样将变量引入全局范围:

window.myGlovalVar = myLocalVar;

我的情况有哪些可能性?

【问题讨论】:

【参考方案1】:

您仍然可以使用 Visual Studio 调试器在托管 WebBrowser 控件的自定义应用程序中调试 JavaScript,如 here 所述。

另一种选择是直接从调试器的 QuickWatch 窗口键入并执行 WebBrowser.InvokeScript (WPF) 或 WebBrowser.Document.InvokeScript (WinForms)。

例如,设置一个变量:

webBrowser.InvokeScript("execScript", "window.myGlovalVar = myLocalVar")

稍后查询(将返回上面记住的值myLocalVar):

webBrowser.InvokeScript("eval", "window.myGlovalVar")

【讨论】:

以上是关于在 C# Web 浏览器中创建 javascript 变量全局范围的主要内容,如果未能解决你的问题,请参考以下文章

在 C# 中创建的 Web 代理需要提示进行身份验证

使用 Visual Studio 2013 在 C# 中创建 asmx Web 服务

如何在 C# 中创建动态 Web api 客户端?

如何在 C# 中创建一个简单的代理?

如何在 Asp.NET Core WEB API 中使用 .Net (C#) 在 Payload 中创建具有自定义 JSON 声明的 JWT 令牌

如何在 C# 中创建嵌套(父子)JSON 响应?