我正在使用 .NET 4 并尝试通过 Web 浏览器控件(WPF 和/或 WinForms)使用 StackApps 站点的桌面身份验证来开发用于访问 StackOverflow 的 NNTP 桥(https://stackapps.com/questions/4215 /stackapp-nntp-bridge-for-accessing-stackexchange-forums-like-stackoverflow)。
似乎无法登录,因为在显示“StackExchange Login”页面后,Web 浏览器挂起。我使用以下网址: https ://stackexchange.com/oauth/dialog?client_id=1736&scope=no_expiry&redirect_uri=https://stackexchange.com/oauth/login_success
它可以在普通的 IE 浏览器中工作,但不能在 WinForms 或 WPF 窗口中工作……有谁知道问题出在哪里?
重现很简单:
- 创建一个 WinForms 项目
- 将“WebBrowser”控件添加到对话框
- 双击 Form1
添加以下代码
private void Form1_Load(object sender, EventArgs e) { webBrowser1.Navigate("https://stackexchange.com/oauth/dialog?client_id=1736&scope=no_expiry&redirect_uri=https://stackexchange.com/oauth/login_success"); }
启动应用程序
- 按“使用 Stack Exchange 登录”帐户符号登录
- 一个新页面被加载;显示正确,但无法输入登录名;窗户挂了……
同样的情况,如果我使用 WPF-App 和 WPF-WebBrowser-Control ......它似乎陷入了 JavaScript 的无限循环......
关于如何解决这个问题的任何提示?
或者是否可以在 WebBrowser-Control 中调试 JavaScript ???