我正在使用jQuery來檢測用戶瀏覽器代理,並將瀏覽器名稱添加爲正文的css類。這對於webkit和mozilla來說就像魔術一樣......但是msie卻失敗了 - 但不知道爲什麼。對於msie,我不僅要添加「msie」,還要添加一個使用msie的版本號的類(如「msie7」或「msie8」)。jQuery將瀏覽器名稱添加到css-class
一切正常,只有msie部分沒有!
我(全)jQuery的代碼:
<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>
我知道,這不是你問什麼,但我覺得有義務指出的是,你的方法(可能?)應用不同不同瀏覽器的樣式有一些問題。這是寫在這個主題上的許多文章之一:http://css-tricks.com/browser-detection-is-bad/ – polarblau 2011-01-19 09:47:19
我假裝你沒有聽說過`$ .browser.version`。我可能是錯的。 :)什麼是'一切正常,只有msie部分不會!`?你能給我們提示一下IE中發生的事情嗎? – Reigel 2011-01-19 09:49:36
你的腳本會因爲你錯過的任何瀏覽器或任何新版本的IE設計而失敗。 – 2011-01-19 09:54:32