有沒有一種方法可以在.js文件中使用像<!--[if (IE 6)|(IE 7)]>
這樣的HTML條件標籤,因爲如果訪問者使用IE6或IE7,我需要執行特定的JavaScript?javascript js文件中的條件標籤
感謝
有沒有一種方法可以在.js文件中使用像<!--[if (IE 6)|(IE 7)]>
這樣的HTML條件標籤,因爲如果訪問者使用IE6或IE7,我需要執行特定的JavaScript?javascript js文件中的條件標籤
感謝
我會做這樣的事情與標記...
<!DOCTYPE html>
<!--[if lt IE 7]> <html class="lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
<!--[if IE 7]> <html class="lt-ie9 lt-ie8"> <![endif]-->
<!--[if IE 8]> <html class="lt-ie9"> <![endif]-->
<!--[if gt IE 8]><!--> <html class=""> <!--<![endif]-->
<head>
然後在你的JS,你可以檢查相應的車身式樣:
用戶navigator.userAgent
檢查用戶的瀏覽器。
單獨的JS文件是最好的選擇。
但是你可以使用的navigator.userAgent:
var userAgent = navigator.userAgent;
從這裏就可以判斷用戶使用的是查看你的頁面,並使用內置JS if語句的瀏覽器。
用戶代理可能被欺騙,因此不是可靠的確定瀏覽器的方法。你應該看看***功能檢測***,這是好處,而不是「瀏覽器嗅探」。爲了實現這一點,請查看[modernizr.js](http://modernizr.com/)。 – War10ck
可以使用條件的意見在你的標記中,並使用結果在你的js中創建條件變量。與此開始您的文檔:
<!DOCTYPE HTML>
<!--[if lte IE 7]><html lang="en" class="ieDetect ie7Detect"><![endif]-->
<!--[if IE 8]><html lang="en" class="ieDetect ie8Detect"><![endif]-->
<!--[if IE 9]><html lang="en" class="ieDetect ie9Detect"><![endif]-->
<!--[if !IE]>--><html lang="en"><!--<![endif]-->
我通常喜歡使用jQuery,這和檢查類:
var ieDetect = $('.ieDetect').length
, ie7Detect = $('.ie7Detect').length
, ie8Detect = $('.ie8Detect').length
, ie9Detect = $('.ie9Detect').length
;
if (ieDetect){
// do stuff with IE
}
如果你只想使用JS,你可以使用一個類抓取功能,保留上面的標記,或者您可以放棄通用的ieDetect類,只需在ie標籤上使用ie7Detect(和8,9)作爲標識。
var ie7Detect = document.getElementById("ie7Detect").length
, etc...
爲什麼不告訴我們你想做什麼?檢查客戶端使用哪種瀏覽器是不好的......如果您告訴我們您正在嘗試的是什麼,我們可以提出更好的解決方案。 – jeremy
或者你也可以單獨使用另一個JavaScript文件中的代碼,這個文件只有在使用IE 6或7時纔會實現。 – Atrox111
那麼腳本與['@ cc_on'](http://msdn.microsoft.com/ de/de/library/ie/8ka90k2e(v = vs.94).aspx),但請不要使用這個(我只提到它,你知道它存在但它確實很糟糕),因爲有了這個在縮小,驗證和其他問題方面存在問題。 –