【问题标题】:Make javascript variable global scope in C# web browser在 C# Web 浏览器中创建 javascript 变量全局范围
【发布时间】:2015-10-08 09:45:17
【问题描述】:
是否有可能从 c# WebBrowser 组件中的 javascript 读取局部变量?在像 Chrome 这样的标准网络浏览器中,我可以通过调试器(谷歌开发者工具)访问局部变量,然后我可以像这样将变量引入全局范围:
window.myGlovalVar = myLocalVar;
我的情况有哪些可能性?
【问题讨论】:
标签:
javascript
c#
webbrowser-control
local-variables
developer-tools
【解决方案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")