1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > html指定ie内核 指定Webbrowser控件所用IE内核版本

html指定ie内核 指定Webbrowser控件所用IE内核版本

时间:2019-07-18 17:47:31

相关推荐

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判断浏览器的版本以及浏览器内核

*@authorwangyanling

*@date7月4日

*/

varbrowser=function(){

varagent=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:(patMode=='BackCompat')

};

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

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

varversion=0;

//InternetExplorer6.0+

if(browser.ie){

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

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

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

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

}elseif(v1&&v1[1]){

version=v1[1]*1;

}elseif(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){

vargeckoRelease=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']);

}

//Opera9.50+

if(browser.opera)

version=parseFloat(opera.version());

//WebKit522+(Safari3+)

if(browser.webkit)

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

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

browser.version=version;

returnbrowser;

}();

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

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。