html指定ie内核,指定Webbrowser控件所用IE内核版本
如果電腦上安裝了IE8或者之后版本的IE瀏覽器,在Visual Studio Webbrowser控件默認(rèn)使用IE7兼容模式來(lái)顯示網(wǎng)頁(yè)內(nèi)容。解決方法是在注冊(cè)表中為你的進(jìn)程指定引用IE的版本號(hào)。
比如我的程序叫做a.exe
對(duì)于32位Windows OS操作系統(tǒng):
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION
對(duì)于64位Windows OS操作系統(tǒng)
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION
在對(duì)應(yīng)的路徑下添加你程序名字,如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
但是經(jīng)過(guò)我們測(cè)試,DWORD值設(shè)置為0或者15000時(shí),IE都指定的是本機(jī)安裝的IE版本,如果版本是IE11則Webbrowser控件就用的是IE11。
/*
*?@desc???判斷瀏覽器的版本以及瀏覽器內(nèi)核
*?@author?wangyanling
*?@date???2014年7月4日
*/
var?browser?=?function?()?{
var?agent?=?navigator.userAgent.toLowerCase(),
opera?=?window.opera,
browser?=?{
//檢測(cè)當(dāng)前瀏覽器是否為IE
ie:?/(msie\s|trident.*rv:)([\w.]+)/.test(agent),
//檢測(cè)當(dāng)前瀏覽器是否為Opera
opera:?(!!opera?&&?opera.version),
//檢測(cè)當(dāng)前瀏覽器是否是webkit內(nèi)核的瀏覽器
webkit:?(agent.indexOf('?applewebkit/')?>?-1),
//檢測(cè)當(dāng)前瀏覽器是否是運(yùn)行在mac平臺(tái)下
mac:?(agent.indexOf('macintosh')?>?-1),
//檢測(cè)當(dāng)前瀏覽器是否處于“怪異模式”下
quirks:?(document.compatMode?==?'BackCompat')
};
//檢測(cè)當(dāng)前瀏覽器內(nèi)核是否是gecko內(nèi)核
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;
}
//檢測(cè)瀏覽器模式是否為?IE11?兼容模式
browser.ie11Compat?=?document.documentMode?==?11;
//檢測(cè)瀏覽器模式是否為?IE9?兼容模式
browser.ie9Compat?=?document.documentMode?==?9;
//檢測(cè)瀏覽器模式是否為?IE10?兼容模式
browser.ie10Compat?=?document.documentMode?==?10;
//檢測(cè)瀏覽器是否是IE8瀏覽器
browser.ie8?=?!!document.documentMode;
//檢測(cè)瀏覽器模式是否為?IE8?兼容模式
browser.ie8Compat?=?document.documentMode?==?8;
//檢測(cè)瀏覽器模式是否為?IE7?兼容模式
browser.ie7Compat?=?((version?==?7?&&?!document.documentMode)?||?document.documentMode?==?7);
//檢測(cè)瀏覽器模式是否為?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;
}
}
//檢測(cè)當(dāng)前瀏覽器是否為Chrome,?如果是,則返回Chrome的大版本號(hào)
if?(/chrome\/(\d+\.\d)/i.test(agent))?{
browser.chrome?=?+RegExp['\x241'];
}
//檢測(cè)當(dāng)前瀏覽器是否為Safari,?如果是,則返回Safari的大版本號(hào)
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]);
//檢測(cè)當(dāng)前瀏覽器版本號(hào)
browser.version?=?version;
return?browser;
}();
在MFC程序中嵌入瀏覽器控件都是IE內(nèi)核,但不同客戶端IE版本不同將會(huì)導(dǎo)致WEB網(wǎng)頁(yè)的兼容問(wèn)題。為了解決該問(wèn)題,可以使用WebKit的鏈庫(kù),主要是針對(duì)嵌入Chrome瀏覽器控件。可在http://www.magpcss.net/cef_downloads/下載相應(yīng)的庫(kù)。更多資料可參見(jiàn)CEF中文教程(google chrome瀏覽器控件) -- CEF簡(jiǎn)介,http://www.voidcn.com/article/p-voowgrbk-rw.html
總結(jié)
以上是生活随笔為你收集整理的html指定ie内核,指定Webbrowser控件所用IE内核版本的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 电脑打开html不显示图片,网页不显示图
- 下一篇: 深圳的中学计算机课学什么时候,2018-