如何给webbrowser指定IE版本 写了一个C#程序,里面用到了webbrowser控件,但是webbrowser是兼容IE7来显示页面的,导致了许多元素不能正常显示。如何在注册表中指定webbrowser的ie版本呢。。百度上的方法已经试过,没有什么效果。很急,在线等。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 ”指定webbrowser的ie版本“有根据吗? 指定不了....别想了..我发现论坛好几个关于webbrowser是不是都你发的帖子? <meta http-equiv="X-UA-Compatible" content="IE=edge">这样? 我不知道“但是webbrowser是兼容IE7来显示页面的”是否属实,我没有测试。(其实你应该测试一下,贴出来)既然你说“百度上的方法已经试过,没有什么效果”,那么可能还是要基于上面的测试来分析。可惜我是不测试这个的。我使用 geckofx。你可以在这里找到它:https://bitbucket.org/geckofx/geckofx/但是它显然跟 webbrowser 是不同的东西,编程方式不一样。你要有这个准备。 如果你要使用开源的 Geckofx,那么在你的 vs 上用 Nuget 安装它,非常方便。 你可以使用基于chrome内核的第三方控件试下。webbrowser就是个坑。 void Button1Click(object sender, EventArgs e) { RegistryKey rk = Registry.LocalMachine; RegistryKey rks = rk.CreateSubKey("SOFTWARE\\Wow6432Node\\Microsoft\\Internet Explorer\\MAIN\\FeatureControl\\FEATURE_BROWSER_EMULATION"); rks.SetValue(textBox1.Text,"11001",RegistryValueKind.DWord); rk.Close(); } 比如哪些呢,下了一些 坑死了,基础功能缺不说,很多不更新了。bug就放哪儿了 取决你的 mshtml.dll 你需要修改注册表,默认情况下Webbrowser控件使用的是IE7的内核,你可以通过修改注册表修改控件的IE内核http://www.cnblogs.com/doscanner/p/5611434.html 怎么还在用ie?chrome开源项目不是很好用嘛? https://www.cnblogs.com/1175429393wljblog/p/5398928.html webbrowser 本身并没有携带任何浏览器内核或渲染方案,这些东西是随着操作系统的ie变化的,但是可以在网站或装载完成的document里面增加头部<meta http-equiv="X-UA-Compatible" content="IE=edge">具体这个参数怎么调整你可以去百度。 geckofx 真心不好用,可能是还不熟悉吧,哎 webbrowser控件 就是 IE 的 COM+ 组件(就是通常说的内核,IE 也是调用它工作的)你在编译应用程序时,就把相应版本固定住了我不认为可以修改注册表指定版本,因为使用什么组件是由编译在你应用程序中的组件号决定的 实际工作中他调用的是系统ie的com+接口,具ie体版本由系统ie版本来定,但是不同的是他的渲染模式,这个规律就更难找了。 webbrowser 本身并没有携带任何浏览器内核或渲染方案,这些东西是随着操作系统的ie变化的,但是可以在网站或装载完成的document里面增加头部 执行时调用的目标计算机的IE内核简单验证webBrowser1.Navigate("https://www.baidu.com");MessageBox.Show(webBrowser1.Version.ToString());在不同系统下(IE版本不同),输出不同至于通过注册表修改,个人觉得不可行,除非系统上安装了多个IE版本,可供选择 登录界面的权限问题!急! String[1]: Size 属性具有无效大小值 0。是为什么 timeSpan DataSet 和 DataTable的转换 C#里面是否有共用体 我想问问互斥体 关于QUICK CHM2.6制作帮助文件的问题 求助,怎么获取LinkButton客户端的URL,顶的也有分 求助,如何添加不重复的学号。 怎样把openfiledialog打开的文件在textbox中显示出来,我很菜,帮忙 C# 中如何 把文字和图片一起拷贝到剪贴板中,试了几个方法都不对,希望大家帮忙哦! math.net库中关于fft方法的调用
这样?
webbrowser就是个坑。
{
RegistryKey rk = Registry.LocalMachine;
RegistryKey rks = rk.CreateSubKey("SOFTWARE\\Wow6432Node\\Microsoft\\Internet Explorer\\MAIN\\FeatureControl\\FEATURE_BROWSER_EMULATION");
rks.SetValue(textBox1.Text,"11001",RegistryValueKind.DWord);
rk.Close();
}
比如哪些呢,下了一些 坑死了,基础功能缺不说,很多不更新了。bug就放哪儿了
http://www.cnblogs.com/doscanner/p/5611434.html
<meta http-equiv="X-UA-Compatible" content="IE=edge">
具体这个参数怎么调整你可以去百度。
你在编译应用程序时,就把相应版本固定住了
我不认为可以修改注册表指定版本,因为使用什么组件是由编译在你应用程序中的组件号决定的
简单验证webBrowser1.Navigate("https://www.baidu.com");
MessageBox.Show(webBrowser1.Version.ToString());
在不同系统下(IE版本不同),输出不同至于通过注册表修改,个人觉得不可行,除非系统上安装了多个IE版本,可供选择