var user = navigator.userAgent;
var browser = {};
browser.opera = user.indexOf("Opera") > -1 && typeof window.opera == "object";
browser.khtml = (user.indexOf("KHTML") > -1 || user.indexOf("AppleWebKit") > -1 || user.indexOf("Konqueror") > -1) && !browser.opera;
browser.ie = user.indexOf("MSIE") > -1 && !browser.opera;
browser.gecko = user.indexOf("Gecko") > -1 && !browser.khtml;
if (browser.ie) {
var ie_reg = /MSIE (\d+\.\d+);/;
ie_reg.test(user);
var v = parseFloat(RegExp["$1"]);
browser.ie55 = v <= 5.5;
browser.ie6 = v <= 6;
}
最近,我正在學習JavaScript。我看到一些代碼來檢查瀏覽器,但我無法順利完成。代碼對我來說太難了。可以向我解釋嗎?非常感謝。使用JavaScript檢查瀏覽器
不完全是問堆棧溢出的方式......你需要提出具體的問題。 – 2011-05-08 12:23:16
稍有偏離主題,但:檢查用戶正在使用的瀏覽器很少合適。相反,代碼應該檢查它需要的* features *。這被稱爲「功能檢測」而不是「瀏覽器檢測」,代表了當前爲網絡編寫JavaScript的最佳做法。功能測試[這是一個很棒的集合](http://kangax.github.com/cft/); [這裏是另一個好集](http://diveintohtml5.org/detect.html),專門針對HTML5的東西。 – 2011-05-08 12:27:52
@downvoter,@closevoters:我認爲這個問題相當清楚,並且也收到了相當好的答案。 @runeveryday需要解釋代碼正在做什麼,@ pimvdb已經完成了。 – 2011-05-08 12:29:11