是否有可能在c#WebBrowser组件中从javascript读取局部变量?在像Chrome这样的标准网络浏览器中,我可以通过调试器(Google Developer Tools)访问本地变量,然后我可以将变量带到全局范围,如下所示:
window.myGlovalVar = myLocalVar;
我的情况有哪些可能性?
答案 0 :(得分:2)
您仍然可以使用Visual Studio Debugger在托管WebBrowser
控件的自定义应用程序中调试JavaScript,如here所述。
另一种选择是直接从调试器的QuickWatch窗口键入并执行WebBrowser.InvokeScript
(WPF)或WebBrowser.Document.InvokeScript
(WinForms)。
例如,设置一个变量:
webBrowser.InvokeScript("execScript", "window.myGlovalVar = myLocalVar")
稍后查询(将返回上面记住的值myLocalVar
):
webBrowser.InvokeScript("eval", "window.myGlovalVar")