如何给webbrowser指定IE版本

锦瑟年华人无恙 2017-01-22 03:14:29
写了一个C#程序,里面用到了webbrowser控件,但是webbrowser是兼容IE7来显示页面的,导致了许多元素不能正常显示。如何在注册表中指定webbrowser的ie版本呢。。百度上的方法已经试过,没有什么效果。很急,在线等。。。。
...全文
3037 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
秋的红果实 2019-05-03
  • 打赏
  • 举报
回复
执行时调用的目标计算机的IE内核 简单验证

webBrowser1.Navigate("https://www.baidu.com");
MessageBox.Show(webBrowser1.Version.ToString());

在不同系统下(IE版本不同),输出不同 至于通过注册表修改,个人觉得不可行,除非系统上安装了多个IE版本,可供选择
橘子皮... 2019-05-02
  • 打赏
  • 举报
回复
可以指定,老问题了,早解决了,修改注册表
ycxiaoxiao 2019-05-02
  • 打赏
  • 举报
回复
webbrowser 本身并没有携带任何浏览器内核或渲染方案,这些东西是随着操作系统的ie变化的,但是可以在网站或装载完成的document里面增加头部
  • 打赏
  • 举报
回复
引用 16 楼 xuzuning 的回复:
webbrowser控件 就是 IE 的 COM+ 组件(就是通常说的内核,IE 也是调用它工作的) 你在编译应用程序时,就把相应版本固定住了 我不认为可以修改注册表指定版本,因为使用什么组件是由编译在你应用程序中的组件号决定的
实际工作中他调用的是系统ie的com+接口,具ie体版本由系统ie版本来定,但是不同的是他的渲染模式,这个规律就更难找了。
xuzuning 2018-03-22
  • 打赏
  • 举报
回复
webbrowser控件 就是 IE 的 COM+ 组件(就是通常说的内核,IE 也是调用它工作的) 你在编译应用程序时,就把相应版本固定住了 我不认为可以修改注册表指定版本,因为使用什么组件是由编译在你应用程序中的组件号决定的
橘子皮... 2018-03-22
  • 打赏
  • 举报
回复
geckofx 真心不好用,可能是还不熟悉吧,哎
  • 打赏
  • 举报
回复
webbrowser 本身并没有携带任何浏览器内核或渲染方案,这些东西是随着操作系统的ie变化的,但是可以在网站或装载完成的document里面增加头部 <meta http-equiv="X-UA-Compatible" content="IE=edge"> 具体这个参数怎么调整你可以去百度。
FNR_S 2018-03-22
  • 打赏
  • 举报
回复
https://www.cnblogs.com/1175429393wljblog/p/5398928.html
FNR_S 2018-03-22
  • 打赏
  • 举报
回复
更改注册表可以实现
  • 打赏
  • 举报
回复
你需要修改注册表,默认情况下Webbrowser控件使用的是IE7的内核,你可以通过修改注册表修改控件的IE内核 http://www.cnblogs.com/doscanner/p/5611434.html
zj_zwl 2017-08-14
  • 打赏
  • 举报
回复
怎么还在用ie?chrome开源项目不是很好用嘛?
  • 打赏
  • 举报
回复
引用 6 楼 bwangel 的回复:
你可以使用基于chrome内核的第三方控件试下。 webbrowser就是个坑。
比如哪些呢,下了一些 坑死了,基础功能缺不说,很多不更新了。bug就放哪儿了
闭包客 2017-08-13
  • 打赏
  • 举报
回复
取决你的 mshtml.dll
needfreedoms 2017-01-25
  • 打赏
  • 举报
回复
	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();
		}
bwangel 2017-01-25
  • 打赏
  • 举报
回复
你可以使用基于chrome内核的第三方控件试下。 webbrowser就是个坑。
  • 打赏
  • 举报
回复
如果你要使用开源的 Geckofx,那么在你的 vs 上用 Nuget 安装它,非常方便。
  • 打赏
  • 举报
回复
我不知道“但是webbrowser是兼容IE7来显示页面的”是否属实,我没有测试。(其实你应该测试一下,贴出来) 既然你说“百度上的方法已经试过,没有什么效果”,那么可能还是要基于上面的测试来分析。可惜我是不测试这个的。我使用 geckofx。你可以在这里找到它:https://bitbucket.org/geckofx/geckofx/ 但是它显然跟 webbrowser 是不同的东西,编程方式不一样。你要有这个准备。
pig357 2017-01-24
  • 打赏
  • 举报
回复
<meta http-equiv="X-UA-Compatible" content="IE=edge"> 这样?
by_封爱 版主 2017-01-22
  • 打赏
  • 举报
回复
指定不了....别想了.. 我发现论坛好几个关于webbrowser是不是都你发的帖子?
  • 打赏
  • 举报
回复
”指定webbrowser的ie版本“有根据吗?
IETester 简介  [1]IETester是一个免费的WebBrowser控件,让您有渲染和IE8的JavaScript引擎,IE7和IE 6在Windows 7,Vista和XP的IE5.5中,以及在同一进程中安装的IE浏览器。新的v0.4.2:新增开发选项来启用/禁用浏览器的功能!目前最新版本是0.4.12。[2]   软件大小: 38.36 MB   软件语言: 简体中文   授权方式: 免费软件   运行环境:Win2003,WinXP,Win2000,Win9X,windows vista. 这是个相当神奇的小软体,可以帮我们模拟网页在IE5.5、IE6、IE7与IE8、IE9等浏览器的相容性,让我们看一下辛苦作好的CSS样式或网站版面是否可以在各个主要浏览器正常显示。 IETester是以”分页标签”的方式,分别在不同的页签中显示你所指定的IE浏览器版本的网页浏览画面,此外类似Office 2007的软体介面呈现方式也相当新潮好用,大部分常用的按钮都直接列在上面了。 最小需求:Windows Vista 或者 Windows XP 安装 IE7 版本( 如果安装的 IE6 版本 ,则Windows XP 下的 IE6 有一些小问题,并且在这个配置下 IE7/IE8 版本… IETester 包含5个版本的IE(5.5/6.0/7.0/8.0/9.0),完全可以满足对 IE 兼容性的测试,再往前的版本也不支持 CSS 解析了,更何况也没有人在用 IE3/IE4 等古董级的玩意儿了。 也比较美观,Office 2007 的风格。 每个标签前面的大大的数字就是当前使用的版本号。 官网:http://www.ietester.net/index.php/archives/159.html
4 浏览器网络编程(共两周) 4.1 浏览器工作原理(老师讲解1学时,学生理解1学时) 浏览器工作原理如图4-1所示。 图4-1 浏览器工作原理 (1) 浏览器分析超链指向页面的 URL。 (2) 浏览器向 DNS 请求解析 www.tsinghua.edu.cn 的 IP 地址。 (3) 域名系统 DNS 解析出清华大学服务器的 IP 地址。 (4) 浏览器与服务器建立 TCP 连接 (5) 浏览器发出取文件命令: GET /chn/yxsz/index.htm。 (6) 服务器 给出响应,把文件 index.htm 发给浏览器。 (7) TCP 连接释放。 (8) 浏览器显示“清华大学院系设置”文件 index.htm 中的所有文本 4.2 浏览器功能结构(老师讲解1学时,学生理解1学时) 浏览器程序功能结构如图4-2所示。 图4-2 浏览器功能结构 1) 浏览器有一组客户、一组解释程序,以及管理这些客户和解释程序的控制程序。 2) 控制程序是其中的核心部件,它解释鼠标的点击和键盘的输入,并调用有关的组件来执行用户指定的操作。 3) 例如,当用户用鼠标点击一个超链的起点时,控制程序就调用一个客户从所需文档所在的远地服务器上取回该文档,并调用解释程序向用户显示该文档 4) HTML 解释程序是必不可少的,而其他的解释程序则是可选的。 5) 解释程序把 HTML 规格转换为适合用户显示硬件的命令来处理版面的细节。 6) 许多浏览器还包含 FTP 客户,用来获取文件传送服务。 7) 一些浏览器也包含电子邮件客户,使浏览器能够发送和接收电子邮件 8) 浏览器将它取回的每一个页面副本都放入本地磁盘的缓存中。 9) 当用户用鼠标点击某个选项时,浏览器首先检查磁盘的缓存。若缓存中保存了该项,浏览器就直接从缓存中得到该项副本而不必从网络获取,这样就明显地改善浏览器的运行特性。 10) 但缓存要占用磁盘大量的空间,而浏览器性能的改善只有在用户再次查看缓存中的页面时才有帮助。 11) 许多浏览器允许用户调整缓存策略。 4.3 浏览器设计(老师讲解2学时,学生设计2学时) (1)浏览器功能设计 浏览器功能设计主要确定设计好的浏览器需要具备哪些功能,以及这些功能是以什么方式进行实现,这个步骤相当于软件设计中的“需求分析”,其中必须保证基本功能的具备,即浏览器必须能够浏览Web页面。 (2)浏览器界面设计 浏览器界面设计主要确定浏览器的页面布局,设定浏览器窗口上设置哪些功能菜单项、设置哪些功能按钮、设置哪些状态栏,它们各自的位置如何、属性如何、对应的变量如何等等。 (3)浏览器代码设计 浏览器代码设计主要是确定对上述的设计的功能在代码上怎样实现,包括选用的程序语言和编程平台选择、程序代码的编写、程序代码的调试、程序功能的测试等等。 4.4 浏览器编程设计平台(老师讲解2学时,学生理解4学时) (1)VS2005编程平台 (2)WebBrowser类及其使用 (3)一些浏览器程序的代码分析 4.5 浏览器开发步骤(8天) (1)熟悉VS2005平台,建立项目(半天) 打开VS2005选择“创建项目”,进入“新建项目”对话框,如图4-1所示。 图4-1 “新建项目”对话框 在“新建项目”对话框的项目类型窗口中选中“Visual C#”作为项目开发语言,在模板窗口中选中“Windows 应用程序”作为项目开发模板,在“名称”、“位置”编辑框中输入自己设定的项目名字和项目存储位置,本讲义使用“CSharp浏览器”作为项目名称,如图4-2所示。 图4-2 输入新建项目的属性 完成输入内容后,单击“确定”按钮,进入项目VC#开发窗口“Form.cs[设计]”,如图4-3所示。 图4-3 VC#开发窗口“Form.cs[设计]” (2)界面设计(1天) ○1设计菜单栏如图4-4所示。(半天) 图4-4 设计菜单栏 设计“文件”菜单如4-5所示。 图4-5 设计“文件”菜单 设计“编辑”菜单如图4-6所示。 图4-6 设计“编辑”菜单 设计“查看”菜单如图4-7所示。 图4-7 设计“查看”菜单 设计“收藏”菜单如图4-8所示。 图4-8 设计“收藏”菜单 设计“工具”菜单如图4-9所示。 图4-9 设计“工具”菜单 ○2设计工具栏、用户区和状态栏如图4-10所示(半天) 图4-10 工具栏和状态栏 (3)功能代码编辑 ○1初始化代码(半天) 双击“Form”设计页面进入代码编写页面,如图4-11所示。 图4-11 代码编写页面 初始化页面代码如下: ////////////////////////////////////////////////////////

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧