我正在尝试在jsf中获取有关用户浏览器的信息,而书中的示例有点奇怪。他们提供检查代码
String userAgent=request.getHeader("user-agent");
String browser="unknown";
if (userAgent !=null)
{
if (userAgent.indexOf("MSIE")>-1)
browser="MS Internet Explorer";
else if (userAgent.indexOf("Firefox")>-1)
browser="Mozilla Firefox";
else if (userAgent.indexOf("Opera")>-1)
browser="Opera";
else if (userAgent.indexOf("Chrome")>-1)
browser="Google Chrome";
else if (userAgent.indexOf("Safari")>-1)
browser="Apple Safari";
}
out.println("<br/>and your browser is "+browser+"<br/>");
和useragent给了我
Mozilla / 5.0(Windows NT 6.1; WOW64)AppleWebKit / 537.36(KHTML,与Gecko一样)Chrome / 47.0.2526.80 Safari / 537.36。
因此,如果我更改检查浏览器名称的顺序,可能会给我一些奇怪的结果
if (userAgent !=null)
{
if (userAgent.indexOf("MSIE")>-1)
browser="MS Internet Explorer";
else if (userAgent.indexOf("Firefox")>-1)
browser="Mozilla Firefox";
else if (userAgent.indexOf("Opera")>-1)
browser="Opera";
else if (userAgent.indexOf("Safari")>-1)
browser="Apple Safari";
else if (userAgent.indexOf("Chrome")>-1)
browser="Google Chrome";
}
好像我正在使用Safari。这段代码真的有用吗,或者有更多正确的方法来检查用户的浏览器?