我在頁面中添加了以下javascript,因爲當文本太長時,某些dropdownlist不會在IE中顯示整個內容。如何從測試中排除Ie9或更高版本?
$(".dropdown").mousedown(function() {
if ($.browser.msie) {
//Do something
}
});
現在,我已經修復了問題,我只知道,IE9不存在這樣的問題。那麼,如何從上述測試中排除IE9或更高版本呢?
感謝您的幫助
我在頁面中添加了以下javascript,因爲當文本太長時,某些dropdownlist不會在IE中顯示整個內容。如何從測試中排除Ie9或更高版本?
$(".dropdown").mousedown(function() {
if ($.browser.msie) {
//Do something
}
});
現在,我已經修復了問題,我只知道,IE9不存在這樣的問題。那麼,如何從上述測試中排除IE9或更高版本呢?
感謝您的幫助
也許你可以做到這一點在你的頁面的HEAD:
<!--[if gt IE 8]>
<script src="myscript.js"></script>
<![endif]-->
if ($.browser.msie && parseInt($.browser.version, 10) < 9) {
// your code here for IE < 9
}
UPDATE
$.browser
已被棄用。
確保您的代碼只在IE
< 9上運行的一種方法是使用條件語句。
<!--[if lt IE 9]>
<script src="path-to-js.js" type="text/javascript"></script>
<![endif]-->
$ .browser被刪除。 –
@JayBlanchard:哇,永遠不會意識到這一點。謝謝,更新了答案。 –
$.browser
有另一個屬性命名的版本,用它來檢測正在使用哪個版本。
console.log($.browser.version)
你真的不應該使用$.browser
可言,雖然,它消失了jQuery中(1.9和2.0)的下一個版本。
使用jQuery:
if ($.browser.msie && parseInt($.browser.version, 10) > 9) {
//exclude
}
這裏是純JavaScript同樣的方法:
<script>
function getIEVersion() {
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.test(ua) != null)
rv = parseFloat(RegExp.$1);
}
return rv;
}
function checkVersion() {
var ver = getIEVersion();
if (ver != -1) {
if (ver > 9.0) {
// do something
}
}
}
checkVersion();
</script>
但是,最好的辦法是不使用UA嗅探,而是使用特徵檢測像Modernizr。
根本不應該進行瀏覽器測試。使用*功能檢測*代替。 – jAndy
在條件註釋中加載您的腳本文件。 – Smamatti