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

Make javascript variable global scope in C# web browser

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

window.myGlovalVar = myLocalVar;

我的情况有哪些可能性?

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

另一种选择是直接从调试器的 QuickWatch window.

键入并执行 WebBrowser.InvokeScript (WPF) 或 WebBrowser.Document.InvokeScript (WinForms)

例如,设置一个变量:

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

稍后再查询(会return上面记住的值myLocalVar):

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