【发布时间】:2013-07-27 12:55:03
【问题描述】:
我正在使用 .NET 4 并尝试通过 Web 浏览器控件(WPF 和/或 WinForms)使用 StackApps 站点的桌面身份验证来开发用于访问 StackOverflow (https://stackapps.com/questions/4215/stackapp-nntp-bridge-for-accessing-stackexchange-forums-like-stackoverflow) 的 NNTP 桥。
显示“StackExchange Login”页面后,似乎无法登录,因为网络浏览器挂起。 我使用以下网址: 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???
【问题讨论】:
-
有人无法重现这个问题吗?
-
我也尝试设置 scriptErrorsSuppressed 属性;它不会改变任何东西...我在 Win7 上安装了最新版本的 IE...
-
那么指向 IE WebBrowser 控件替代方案(Firefox 核心、Chrome 核心)的链接呢?如果您坚持使用 IE,我深表歉意。我不知道如何进一步帮助。编辑:例如,您的应用中用于 Firefox WebBrowser 核心的壁虎:code.google.com/p/geckofx
-
我会尝试替代方案...但大多数情况下它们都不是很容易部署...我会看看并检查一下...但是如果页面也很好将解决javascript无限循环;)
标签: c# .net wpf winforms webbrowser-control