如何识别浏览器是 Firefox 还是 Chrome?基本上,我希望应用程序仅在用户注册的特定浏览器上运行。对于这种情况,我希望我的应用程序能够识别用户正在使用的浏览器,以了解是否允许应用程序运行。
我正在使用 java servlet。
我尝试了浏览器的本地存储,但可以在我的应用程序无法控制的情况下将其删除。如果可以使用本地存储,请告诉我如何使用。
(是的,我可以获得浏览器信息,但我想通过浏览器识别特定机器,允许我的应用程序用户运行应用程序;否则,我需要限制该用户访问我的应用程序。)
如何识别浏览器是 Firefox 还是 Chrome?基本上,我希望应用程序仅在用户注册的特定浏览器上运行。对于这种情况,我希望我的应用程序能够识别用户正在使用的浏览器,以了解是否允许应用程序运行。
我正在使用 java servlet。
我尝试了浏览器的本地存储,但可以在我的应用程序无法控制的情况下将其删除。如果可以使用本地存储,请告诉我如何使用。
(是的,我可以获得浏览器信息,但我想通过浏览器识别特定机器,允许我的应用程序用户运行应用程序;否则,我需要限制该用户访问我的应用程序。)
httpRequest.getHeader("user-agent")
请在 servlet 中使用以下代码来了解哪个浏览器正在访问您的 servlet。
String userAgent = request.getHeader("user-agent");
从 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];
}
这是代码:
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 - Browser CodeName = navigator.appCodeName Browser Name = navigator.appName Browser Version = navigator.appVersion
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.
}
}