我需要檢測IE6以解決缺乏位置:固定。我一直在使用一個簡單的正則表達式:使用Javascript/jQuery重新檢測IE6
var isIE6 = /msie|MSIE 6/.test(navigator.userAgent);
這個工程幾乎所有的時間,除了其瀏覽器號稱是既IE6和IE7用戶:
Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) ; .NET CLR 1.1.4322; .NET CLR 2.0.50727; InfoPath.1; .NET CLR 3.0.04506.30)
光榮。
我很樂意使用jquery.support,但它看起來像不支持查詢position:fixed是否可用。所以我回來檢測IE6。
有各種建議的解決方案,如looking for the existence of maxHeight。但是那些看起來相當隨機並且嚇唬我 - 如果上面的正則表達式有例外,我怎麼能確定maxHeight沒有例外?
我在考慮使用條件註釋 - 至少這將是IE本身聲稱是IE6,而不是黑客。就像:
<!--[if IE 6]>
<SCRIPT> var isIE6 = true; </SCRIPT>
<![endif]-->
或者有一個f unction that directly tests if position:fixed is available,但這似乎有點沉重。
任何原因我的條件註釋方法不起作用?有更好的方法嗎?
我一直在使用條件註釋方法一段時間,並沒有任何問題。 – Pat 2010-08-05 21:45:13