html指定ie内核,指定Webbrowser控件所用IE内核版本
如果电脑上安装了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内核版本相关推荐
- pb调用计算机默认游览器,PB打开ole控件IE浏览器版本问题_指定Webbrowser控件所用IE内核版本(转)...
如果电脑上安装了IE8或者之后版本的IE浏览器,Webbrowser控件会使用IE7兼容模式来显示网页内容.解决方法是在注册表中为你的进程指定引用IE的版本号. 比如我的程序叫做a.exe 对于32位 ...
- C# 指定Webbrowser控件所用IE内核版本
如果电脑上安装了IE8或者之后版本的IE浏览器,Webbrowser控件会使用IE7兼容模式来显示网页内容.解决方法是在注册表中为你的进程指定引用IE的版本号. 比如我的程序叫做form.exe,以6 ...
- 为IE内核的WebBrowser控件内存泄漏所烦恼的可以考虑用Cefsharp代替它!
为IE内核的WebBrowser控件内存泄漏所烦恼的朋友们,可以考虑用Cefsharp代替WebBrowser控件 特意做了一个程序来测试 利用Cefsharp做控件,访问网站.每分钟刷新2次,初始时 ...
- Webbrowser控件使用IE内核版本
如果电脑上安装了IE8或者之后版本的IE浏览器,Webbrowser控件会使用IE7兼容模式来显示网页内容.解决方法是在注册表中为你的进程指定引用IE的版本号. 对于32位程序 HKEY_LOCAL_ ...
- 强制IE浏览器或WebBrowser控件使用指定版本显示网页
最近为了抓取淘宝的成交数据,用C#的WebBrowser控件开发了一个简单的程序. 发现WebBrowser控件默认使用的版本是IE7的兼容模式.而淘宝的宝贝详细页居然对IE7的支持不是很好. 成交记 ...
- 给WebBrowser控件指定IE的使用版本
日期:2022年01月12日 作者:Commas 注释:最近遇到一个WIN7 32位用户,用脚本怎么指定IE版本,怎么不成功,手动修改注册表却成功了,琢磨了一下,发现问题了,所以就想着做一个比较全面的 ...
- 修改WebBrowser控件的内核解决方案
修改WebBrowser控件的内核解决方案 参考文章: (1)修改WebBrowser控件的内核解决方案 (2)https://www.cnblogs.com/sung/p/3391264.html ...
- [JavaScript]WebBrowser控件下IE版本的检测
转载请注明原文地址:https://www.cnblogs.com/litou/p/10772272.htm 在客户端检查用户使用的浏览器类型和版本,都是根据navigator.userAgent属性 ...
- WebBrowser控件参数解释
方法 说明 GoBack '相当于IE的"后退"按钮,使你在当前历史列表中后退一项 GoForward ' 相当于IE的"前进"按钮,使你在当前历史列表中前进一 ...
最新文章
- OpenCV代码提取:遍历指定目录下指定文件的实现
- 如何利用 C# 爬取「猫眼电影:热映口碑榜」及对应影片信息!
- BZOJ1951: [Sdoi2010]古代猪文
- Session Cookies Cache 的区别
- C# 用数据库记录填充树
- 判断用户的参数(条件测试语句)
- 5.Loops and List Comprehensions
- ODBG常用快捷键总结
- 【youcans 的 OpenCV 例程 200 篇】120. 击中-击不中变换
- python爬虫网络中断_Python 爬虫总是超时中断?试试Tenacity重试模块
- mysql maria引擎_MySQL/MariaDB---查询缓存与存储引擎
- python中plot是什么意思_python中的plot函数是什么?
- 用注解给映射视图的类创建联合主键
- 视频教程-6小时JavaScript基础精讲-JavaScript
- QuickEdit-手机端强大的代码编辑器
- 数模电路基础知识 —— 2. 常见电路符号说明 (导线、电源、接地、变压器与保险丝)
- 已解决:网易邮箱smtphz.qiye.163.com在阿里云环境发不出邮件的问题
- grails Domian对象转JSON去class以及自己定义字段的最佳方式
- 游戏制作策划人员指南
- 精灵图在现代前端中到底有用没,css中显示和隐藏竟有两种不同方式
热门文章
- python列表获取最后一个元素的方法_Python3基础 pop 取出列表的最后一个元素
- 服务器文件上传记录,记录一下上传文件(图片)的过程上传图片到ftp服务器
- cdt规约报文用程序解析_用Python运维网络(5):scapy
- java 前端页面传过来的值怎么防止篡改_反爬虫,到底是怎么回事儿?
- 算法导论学习笔记 第6章 堆排序
- 用了这个方法,我下载GitHub项目速度达5MB/s!
- git推送密码_git 学习小记之记住https方式推送密码
- vs2019功能介绍_MFC界面库BCGControlBar v30.0新功能详解:支持VS 2019
- _D类、E类、F类冷藏车是什么意思?
- 云联会企业认证_今日新鲜事:沉浸式交互购车新体验 2020首届中国春季云车展启幕...