如果电脑上安装了IE8或者之后版本的IE浏览器,在Visual Studio Webbrowser控件默认使用IE7兼容模式来显示网页内容。解决方法是在注册表中为你的进程指定引用IE的版本号。

比如我的程序叫做a.exe

对于32位Windows OS操作系统:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION

对于64位Windows OS操作系统

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION

在对应的路径下添加你程序名字,如a.exe为名的value,DWORD值。

10000(0×2710) IE10

9999 (0x270F) IE9 忽略html5

9000 (0×2328) IE9

8888 (0x22B8) IE8 忽略html5

8000 (0x1F40) IE8

7000 (0x1B58) IE7

但是经过我们测试,DWORD值设置为0或者15000时,IE都指定的是本机安装的IE版本,如果版本是IE11则Webbrowser控件就用的是IE11。

/*

* @desc   判断浏览器的版本以及浏览器内核

* @author wangyanling

* @date   2014年7月4日

*/

var browser = function () {

var agent = navigator.userAgent.toLowerCase(),

opera = window.opera,

browser = {

//检测当前浏览器是否为IE

ie: /(msie\s|trident.*rv:)([\w.]+)/.test(agent),

//检测当前浏览器是否为Opera

opera: (!!opera && opera.version),

//检测当前浏览器是否是webkit内核的浏览器

webkit: (agent.indexOf(' applewebkit/') > -1),

//检测当前浏览器是否是运行在mac平台下

mac: (agent.indexOf('macintosh') > -1),

//检测当前浏览器是否处于“怪异模式”下

quirks: (document.compatMode == 'BackCompat')

};

//检测当前浏览器内核是否是gecko内核

browser.gecko = (navigator.product == 'Gecko' && !browser.webkit && !browser.opera && !browser.ie);

var version = 0;

// Internet Explorer 6.0+

if (browser.ie) {

var v1 = agent.match(/(?:msie\s([\w.]+))/);

var v2 = agent.match(/(?:trident.*rv:([\w.]+))/);

if (v1 && v2 && v1[1] && v2[1]) {

version = Math.max(v1[1] * 1, v2[1] * 1);

} else if (v1 && v1[1]) {

version = v1[1] * 1;

} else if (v2 && v2[1]) {

version = v2[1] * 1;

} else {

version = 0;

}

//检测浏览器模式是否为 IE11 兼容模式

browser.ie11Compat = document.documentMode == 11;

//检测浏览器模式是否为 IE9 兼容模式

browser.ie9Compat = document.documentMode == 9;

//检测浏览器模式是否为 IE10 兼容模式

browser.ie10Compat = document.documentMode == 10;

//检测浏览器是否是IE8浏览器

browser.ie8 = !!document.documentMode;

//检测浏览器模式是否为 IE8 兼容模式

browser.ie8Compat = document.documentMode == 8;

//检测浏览器模式是否为 IE7 兼容模式

browser.ie7Compat = ((version == 7 && !document.documentMode) || document.documentMode == 7);

//检测浏览器模式是否为 IE6 模式 或者怪异模式

browser.ie6Compat = (version

browser.ie9above = version > 8;

browser.ie9below = version

}

// Gecko.

if (browser.gecko) {

var geckoRelease = agent.match(/rv:([\d\.]+)/);

if (geckoRelease) {

geckoRelease = geckoRelease[1].split('.');

version = geckoRelease[0] * 10000 + (geckoRelease[1] || 0) * 100 + (geckoRelease[2] || 0) * 1;

}

}

//检测当前浏览器是否为Chrome, 如果是,则返回Chrome的大版本号

if (/chrome\/(\d+\.\d)/i.test(agent)) {

browser.chrome = +RegExp['\x241'];

}

//检测当前浏览器是否为Safari, 如果是,则返回Safari的大版本号

if (/(\d+\.\d)?(?:\.\d)?\s+safari\/?(\d+\.\d+)?/i.test(agent) && !/chrome/i.test(agent)) {

browser.safari = +(RegExp['\x241'] || RegExp['\x242']);

}

// Opera 9.50+

if (browser.opera)

version = parseFloat(opera.version());

// WebKit 522+ (Safari 3+)

if (browser.webkit)

version = parseFloat(agent.match(/ applewebkit\/(\d+)/)[1]);

//检测当前浏览器版本号

browser.version = version;

return browser;

}();

在MFC程序中嵌入浏览器控件都是IE内核,但不同客户端IE版本不同将会导致WEB网页的兼容问题。为了解决该问题,可以使用WebKit的链库,主要是针对嵌入Chrome浏览器控件。可在http://www.magpcss.net/cef_downloads/下载相应的库。更多资料可参见CEF中文教程(google chrome浏览器控件) -- CEF简介,http://www.voidcn.com/article/p-voowgrbk-rw.html

html指定ie内核,指定Webbrowser控件所用IE内核版本相关推荐

  1. pb调用计算机默认游览器,PB打开ole控件IE浏览器版本问题_指定Webbrowser控件所用IE内核版本(转)...

    如果电脑上安装了IE8或者之后版本的IE浏览器,Webbrowser控件会使用IE7兼容模式来显示网页内容.解决方法是在注册表中为你的进程指定引用IE的版本号. 比如我的程序叫做a.exe 对于32位 ...

  2. C# 指定Webbrowser控件所用IE内核版本

    如果电脑上安装了IE8或者之后版本的IE浏览器,Webbrowser控件会使用IE7兼容模式来显示网页内容.解决方法是在注册表中为你的进程指定引用IE的版本号. 比如我的程序叫做form.exe,以6 ...

  3. 为IE内核的WebBrowser控件内存泄漏所烦恼的可以考虑用Cefsharp代替它!

    为IE内核的WebBrowser控件内存泄漏所烦恼的朋友们,可以考虑用Cefsharp代替WebBrowser控件 特意做了一个程序来测试 利用Cefsharp做控件,访问网站.每分钟刷新2次,初始时 ...

  4. Webbrowser控件使用IE内核版本

    如果电脑上安装了IE8或者之后版本的IE浏览器,Webbrowser控件会使用IE7兼容模式来显示网页内容.解决方法是在注册表中为你的进程指定引用IE的版本号. 对于32位程序 HKEY_LOCAL_ ...

  5. 强制IE浏览器或WebBrowser控件使用指定版本显示网页

    最近为了抓取淘宝的成交数据,用C#的WebBrowser控件开发了一个简单的程序. 发现WebBrowser控件默认使用的版本是IE7的兼容模式.而淘宝的宝贝详细页居然对IE7的支持不是很好. 成交记 ...

  6. 给WebBrowser控件指定IE的使用版本

    日期:2022年01月12日 作者:Commas 注释:最近遇到一个WIN7 32位用户,用脚本怎么指定IE版本,怎么不成功,手动修改注册表却成功了,琢磨了一下,发现问题了,所以就想着做一个比较全面的 ...

  7. 修改WebBrowser控件的内核解决方案

    修改WebBrowser控件的内核解决方案 参考文章: (1)修改WebBrowser控件的内核解决方案 (2)https://www.cnblogs.com/sung/p/3391264.html ...

  8. [JavaScript]WebBrowser控件下IE版本的检测

    转载请注明原文地址:https://www.cnblogs.com/litou/p/10772272.htm 在客户端检查用户使用的浏览器类型和版本,都是根据navigator.userAgent属性 ...

  9. WebBrowser控件参数解释

    方法 说明 GoBack '相当于IE的"后退"按钮,使你在当前历史列表中后退一项 GoForward ' 相当于IE的"前进"按钮,使你在当前历史列表中前进一 ...

最新文章

  1. OpenCV代码提取:遍历指定目录下指定文件的实现
  2. 如何利用 C# 爬取「猫眼电影:热映口碑榜」及对应影片信息!
  3. BZOJ1951: [Sdoi2010]古代猪文
  4. Session Cookies Cache 的区别
  5. C# 用数据库记录填充树
  6. 判断用户的参数(条件测试语句)
  7. 5.Loops and List Comprehensions
  8. ODBG常用快捷键总结
  9. 【youcans 的 OpenCV 例程 200 篇】120. 击中-击不中变换
  10. python爬虫网络中断_Python 爬虫总是超时中断?试试Tenacity重试模块
  11. mysql maria引擎_MySQL/MariaDB---查询缓存与存储引擎
  12. python中plot是什么意思_python中的plot函数是什么?
  13. 用注解给映射视图的类创建联合主键
  14. 视频教程-6小时JavaScript基础精讲-JavaScript
  15. QuickEdit-手机端强大的代码编辑器
  16. 数模电路基础知识 —— 2. 常见电路符号说明 (导线、电源、接地、变压器与保险丝)
  17. 已解决:网易邮箱smtphz.qiye.163.com在阿里云环境发不出邮件的问题
  18. grails Domian对象转JSON去class以及自己定义字段的最佳方式
  19. 游戏制作策划人员指南
  20. 精灵图在现代前端中到底有用没,css中显示和隐藏竟有两种不同方式

热门文章

  1. python列表获取最后一个元素的方法_Python3基础 pop 取出列表的最后一个元素
  2. 服务器文件上传记录,记录一下上传文件(图片)的过程上传图片到ftp服务器
  3. cdt规约报文用程序解析_用Python运维网络(5):scapy
  4. java 前端页面传过来的值怎么防止篡改_反爬虫,到底是怎么回事儿?
  5. 算法导论学习笔记 第6章 堆排序
  6. 用了这个方法,我下载GitHub项目速度达5MB/s!
  7. git推送密码_git 学习小记之记住https方式推送密码
  8. vs2019功能介绍_MFC界面库BCGControlBar v30.0新功能详解:支持VS 2019
  9. _D类、E类、F类冷藏车是什么意思?
  10. 云联会企业认证_今日新鲜事:沉浸式交互购车新体验 2020首届中国春季云车展启幕...