如何识别浏览器是Firefox还是Chrome?
基本上我希望应用程序只在用户注册的特定浏览器上运行。
对于这种情况,我希望我的应用程序应该识别浏览器
用户激活该应用程序以运行该程序。
我正在使用java servlet。
我尝试了浏览器的本地存储,但可以删除我的应用程序无法控制,如果可以使用它请告诉我如何管理本地存储的所有内容。
[yes i can get a browser info but i want to identify machine with a browser from where my application user can use otherwise i need to restrict that user from acessing my application
]
请告知。
非常感谢。
答案 0 :(得分:2)
httpRequest.getHeader("user-agent")
答案 1 :(得分:1)
从HTTP请求标头中获取用户代理属性。
String userAgent=req.getHeader("user-agent");
String browserName = "";
String browserVer = "";
if(userAgent.contains("Chrome")){ //checking if Chrome
String substring=userAgent.substring(userAgent.indexOf("Chrome")).split(" ")[0];
browserName=substring.split("/")[0];
browserVer=substring.split("/")[1];
}
else if(userAgent.contains("Firefox")){ //Checking if Firefox
String substring=userAgent.substring(userAgent.indexOf("Firefox")).split(" ")[0];
browserName=substring.split("/")[0];
browserVer=substring.split("/")[1];
}
答案 2 :(得分:1)
请使用servlet中的以下代码来了解哪些浏览器正在访问您的servlet。
String userAgent = request.getHeader("user-agent");
答案 3 :(得分:1)
以下是代码:
String userAgent = req.getHeader("user-agent");
UserAgent ua = UserAgent.parseUserAgentString(userAgent);
Version browserVersion = ua.getBrowserVersion();
String browserName = ua.getBrowser().toString();
int majVersion = Integer.parseInt(browserVersion.getMajorVersion());
或者使用可以轻松地从这样的javascript代码获取浏览器deatils - 浏览器CodeName = navigator.appCodeName 浏览器名称= navigator.appName 浏览器版本= navigator.appVersion
答案 4 :(得分:1)
public class MyServlet extends HttpServlet
{
@Override
public void doGet(final HttpServletRequest aRequest,
final HttpServletResponse aResponse) throws ServletException, IOException
{
final String agent = aRequest.getHeader("user-agent");
// agent will looks like
// Mozilla/5.0 (Windows NT 5.1; rv:23.0) Gecko/20100101 Firefox/23.0
// Mozilla/2.0 (compatible; MSIE 6.0; Windows NT 5.2)
// Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.101 Safari/537.36
// etc.
}
}