我正在尝试使用jquery或javascript检测chrome和safari浏览器。我以为我们不应该使用jQuery.browser。这里有什么建议吗?非常感谢!
如果您不想使用$.browser
,请看案例1,否则案例2和3可能会帮助您了解情况,因为不建议使用它$.browser
(使用此方法可以欺骗用户代理)。可以使用一种替代方法来jQuery.support
检测功能支持而不是代理信息。
但...
如果您坚持要获取浏览器类型(仅Chrome或Safari)但不使用$.browser
,则情况1是您要寻找的...
情况1 :( 没有jQuery,没有$ .browser,只有javascript)
现场演示: http ://jsfiddle.net/oscarj24/DJ349/
var isChrome = /Chrome/.test(navigator.userAgent) && /Google Inc/.test(navigator.vendor);
var isSafari = /Safari/.test(navigator.userAgent) && /Apple Computer/.test(navigator.vendor);
if (isChrome) alert("You are using Chrome!");
if (isSafari) alert("You are using Safari!");
这些案例我以前曾经使用过并且效果很好,但是不建议使用...
情况2 :( 使用jQuery和$ .browser,这很棘手)
现场演示: http ://jsfiddle.net/oscarj24/gNENk/
$(document).ready(function(){
/* Get browser */
$.browser.chrome = /chrome/.test(navigator.userAgent.toLowerCase());
/* Detect Chrome */
if($.browser.chrome){
/* Do something for Chrome at this point */
/* Finally, if it is Chrome then jQuery thinks it's
Safari so we have to tell it isn't */
$.browser.safari = false;
}
/* Detect Safari */
if($.browser.safari){
/* Do something for Safari */
}
});
情况3 :( 使用jQuery和$ .browser,“优雅”的解决方案)
现场演示: http ://jsfiddle.net/oscarj24/uJuEU/
$.browser.chrome = $.browser.webkit && !!window.chrome;
$.browser.safari = $.browser.webkit && !window.chrome;
if ($.browser.chrome) alert("You are using Chrome!");
if ($.browser.safari) alert("You are using Safari!");
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句