我正在使用jQuery来检测用户浏览器代理,而不是将浏览器名称作为css类添加到正文中。这与webkit和mozilla的魔法一样......但是msie它失败了 - 但不知道为什么。对于msie我不仅要添加«msie»,还要添加一个使用msie版本号的类(如«msie7»或«msie8»)。
一切正常,只有msie-section没有!
我的(完整)jQuery-Code:
<script type="text/javascript">
<!--
(function($){
$(function(){
var $copy = $('div.SPA_printcontact').clone();
var $body = $('body');
$copy.insertAfter('#printdate');
if($.browser.msie) {
$body.addClass('msie')
var userAgent = userAgent.substring(0,userAgent.indexOf('.'));
var version = userAgent;
$body.addClass('msie' + version)
}
if($.browser.webkit) {
$body.addClass('webkit')
}
if($.browser.mozilla) {
$body.addClass('mozilla')
}
});
}(jQuery));
-->
</script>
答案 0 :(得分:4)
http://api.jquery.com/jQuery.browser/
尝试使用$ .browser.version来获取版本号
编辑:这已在jQuery v1.9及更高版本中弃用。请参考下面的汤姆答案。
答案 1 :(得分:2)
没有全局对象userAgent
。它是navigator
的成员,因此请使用navigator.userAgent
或者像Mohib Sheth所建议的jQuery提供的版本
答案 2 :(得分:0)
您可以使用Detectizr
https://github.com/barisaydinoglu/Detectizr
Detectizr是一个检测
的Modernizr扩展检测这些集是可选的,可以禁用。
另外还有http://rafael.adm.br/css_browser_selector/,其中Detectizr基于(更轻量级)
答案 3 :(得分:-1)
请尝试使用$('body')。addClass()如果不起作用,请尝试$('body')。attr(“class”,msie + version)。