Conditional comments have been deprecated since IE10這破壞了一些遺留代碼,用於檢測當前的Web瀏覽器是否爲IE瀏覽器。請參閱https://gist.github.com/padolsey/527683檢測Internet Explorer(使用IE10 +也是如此!)
我搜索適用於所有版本Internet Explorer(不僅僅是IE9和更低版本)的解決方案。
感謝
Conditional comments have been deprecated since IE10這破壞了一些遺留代碼,用於檢測當前的Web瀏覽器是否爲IE瀏覽器。請參閱https://gist.github.com/padolsey/527683檢測Internet Explorer(使用IE10 +也是如此!)
我搜索適用於所有版本Internet Explorer(不僅僅是IE9和更低版本)的解決方案。
感謝
繼從 「ecstaticpeon」 上https://gist.github.com/padolsey/527683評論,我發現這工作。
自己嘗試一下在http://jsfiddle.net/P5z4N/4/
var ie_version = (function() {
var undef,
v = 3,
div = document.createElement('div'),
all = div.getElementsByTagName('i');
while (
div.innerHTML = '<!--[if gt IE ' + (++v) + ']><i></i><![endif]-->',
all[0]
);
return v > 4 ? v : undef;
}());
/*@cc_on
if (typeof(ie_version) == 'undefined') {
ie_version = parseInt(@_jscript_version);
}
@*/
下面的JavaScript也似乎工作:
嘗試在http://jsfiddle.net/e8G3S/1/
// Returns the version of Internet Explorer or a -1 (indicating the use of another browser)
function getInternetExplorerVersion(){
var rv = -1; // Return value assumes failure.
if (navigator.appName == 'Microsoft Internet Explorer'){
var ua = navigator.userAgent;
var re = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})");
if (re.exec(ua) != null)
rv = parseFloat(RegExp.$1);
}
return rv;
}
function displayAlert(){
var msg = "You're not using Internet Explorer.";
var ver = getInternetExplorerVersion();
if (ver > -1){
if (ver <= 8.0){
msg = "You're using Internet Explorer 8 or below" ;
}
else if (ver >= 9.0 && ver < 10.0){
msg = "You're using IE 9 or above";
}
else{
msg = "You're using IE 10 or above";
}
}
alert(msg);
一種解決*什麼*什麼呢? – Pointy
在這篇文章中的答案可能會指導你在正確的方向:[如何只針對Internet Explorer 10的特定情況,如特定於Internet Explorer的CSS或Internet Explorer特定的JavaScript代碼?](http://stackoverflow.com/questions/9900311/how-do-i-target-only-internet-explorer-10-for-certain-circumstances-like-internet-e) –
我想提醒的是,做功能檢查通常比較明智和簡單瀏覽器檢查。您可能會考慮如何使用MODERNIZR @ http://modernizr.com/ – Steve