我需要检测用户是否从jQuery插件运行旧版本的IE(IE9是好的),所以我不能控制HTML.
我们不鼓励解析用户代理字符串并使用$.browser.msie. $.support方法也不涵盖问题.
所以,我想出这是有效的,但我不知道这是否是“良好做法”.
$('body').append('<!--[if lte IE 8]><script>$("body").addClass("oldie");</script><![endif]-->'); var old_ie = $('body').is('.oldie');
解决方法
你可以运行这个
var ie = (function () { var undef,v = 3,div = document.createElement('div'); while ( div.innerHTML = '<!--[if gt IE '+(++v)+']><i></i><![endif]-->',div.getElementsByTagName('i')[0] ); return v > 4 ? v : undef; }());
检测IE的版本.
资料来源:http://ajaxian.com/archives/attack-of-the-ie-conditional-comment
接着
if ( ie < 9 ) { // do your stuff,for instance: window.location = 'http://getfirefox.com'; // :p }