我正在尝试从HttpServletRequest标头中获取javaScriptEnabled的值。但是我总是把它当作null。
我一直在尝试其他网站,以了解如何从HttpServletRequest标头中获取值。
FacesContext context = FacesContext.getCurrentInstance();
ExternalContext externalContext = context.getExternalContext();
HttpServletRequest request = (HttpServletRequest) externalContext.getRequest();
System.out.println("value:" + request.getHeader("javaScriptEnabled"));
值应为true,因为我的浏览器中启用了javascript。
答案 0 :(得分:0)
我认为您的方法不正确。浏览器不会向您发送特殊的HTTP HEADER来告诉您是否启用了JavaScript。
为了检测到这一点,您需要一种不同的方法。有很多,但我喜欢(因为很简单)是:
1. Set a COOKIE using META TAG in your HTML saying that JS_ENABLED = false
2. Use JavaScript to change that value tu TRUE.
3. If value is changed on your next request, then JavaScript is effectively enabled and allowed to change cookie values.
其他技术可能使用特殊的 AJAX请求进行推断。
我假设您需要服务器端检测。