由于$ .browser现已从jQuery 1.9中删除,我正在寻找类似的检测浏览器的方法吗?
试图使用php的get_brower,但它总是作为“默认浏览器”返回。
更新: 我查看了jquery.support,它没有向我提供任何有用的信息
答案 0 :(得分:3)
来自the documentation for $.browser
:
使用特征检测(参见jQuery.support)
答案 1 :(得分:0)
<?php
echo $_SERVER['HTTP_USER_AGENT'];
?>
然后选择案例或者如果是或正则表达结果你想要的结果。
答案 2 :(得分:0)
正如您所指出的那样,搜索userAgent可能并不可靠。但基本上,如果您不想使用特征检测,那么您必须要做的事情。其余的是here already
答案 3 :(得分:0)
我也错过了jQuery的$ .browser检测。虽然我理解$ .support在许多情况下更有意义,但我最初使用浏览器检测来获取css前缀属性,这在应用条件样式时更有意义,而不是使用所有3个前缀。或者甚至为IE 6-9添加-pie-前缀,这完全基于IE的版本。
这是我将要使用的函数的模型,改编自jQuery已弃用的$ .browser,如果可以帮助的话。
nav = navigation;
nav.detectBrowser = function() {
var t = this,
a = this.userAgent.toLowerCase(),
match = /(chrome)[ \/]([\w.]+)/.exec(a) ||
/(webkit)[ \/]([\w.]+)/.exec(a) ||
/(firefox)[ \/]([\w.]+)/.exec(a) ||
/(msie) ([\w.]+)/.exec(a) ||
/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(a) ||
a.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec(a) || [];
t.browser = match[1] || false;
t.version = match[2] || "0";
if (t.browser) t[match[1]] = true;
if (t.msie)
t.ie = parseInt(t.version);//ie main version or false if not IE
else if (t.chrome)
t.webkit = true;//chrome is webkit
else if (t.webkit)
t.safari = true;
t.pre = t.webkit ? '-webkit-' : t.firefox ? '-moz-' : t.ie > 7
? '-ms-' : t.opera ? '-o-' : '';//css prefix
}
nav.detectBrowser();
注意我使用window.navigation全局对象作为示例,其中旧的$ .browser对象现在是'nav'或'window.nav'。 nav.pre是css3功能的浏览器前缀,nav.ie是Internet Explorer版本的整数,如果它是IE。
答案 4 :(得分:-1)
您可以像这样检测Internet Explorer:
<!--[if IE]>
<![endif]-->
可以使用此工具检测移动浏览器:http://detectmobilebrowsers.com/