积极答复者
C# WebBrowser控件与IE的效果不一致啊。。。怎么办?

问题
-
VS2010 .NET4.0 C# WinForm WebBrowser
用C#控件WebBrowser浏览某些网页,其效果与直接用IE有较大差别,例如 http://dl.dbank.com/c0wtze2ttu。
IE里,点击‘转存网盘’按钮,会弹出一个对话框。
在WebBrowser里,却没有任何反应或动作。
WebBrowser是直接拖到WinForm里的,没有做任何设置的改动。
WebBrowser调用的应该是IE底层,但为什么效果不一致呢?
请问如何处理,使WebBrowser能与IE的行为一致?- 已移动 Mike FengModerator 2012年12月18日 9:49 (发件人:.NET Framework 一般性问题讨论区)
答案
-
把 ScriptErrorsSuppressed 可以忽略掉这个错误。但是点击后,是不会出现认证对话框的。
你可以写一个简单的JS弹出对话框来测试下,BAIDU的这个认证对话框是否有些特别的地方。
- 已标记为答案 Jason Dot WangModerator 2012年12月25日 8:31
全部回复
-
使用以下设置,但没有作用。
private void RegWebBrowserIn32BitIE8Mode()
{
RegistryKey key = Registry.LocalMachine.CreateSubKey(@"SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION");
key.SetValue(Path.GetFileName(Application.ExecutablePath), 8000, RegistryValueKind.DWord);
key.Close();
}也可用以下网址测试:
http://pan.baidu.com/share/link?shareid=94975&uk=673798325
在WebBrowser中会报错(见上图),但在IE8中不会报错。
如何使WebBrowser的行为与IE一致啊?
-
- 已建议为答案 Jason Dot WangModerator 2012年12月19日 2:27
- 取消建议作为答案 ThankfulHeartModerator 2012年12月20日 7:41
-
把 ScriptErrorsSuppressed 可以忽略掉这个错误。但是点击后,是不会出现认证对话框的。
你可以写一个简单的JS弹出对话框来测试下,BAIDU的这个认证对话框是否有些特别的地方。
- 已标记为答案 Jason Dot WangModerator 2012年12月25日 8:31