如何通过Java在浏览器中检测是否启用了javascript

时间:2012-05-02 10:02:22

标签: javascript java-ee cookies jsf-2

我想知道有什么方法可以检测浏览器中是否启用了Javascript。就像我们可以通过使用过滤器中的代码来检测cookie

if (httpServletRequest.isRequestedSessionIdFromCookie()) {

}

我可以检测到javascript吗? Java是否为此提供了任何方法? 其实我想检查是否启用了javascript和Cookies。如果没有,那么我想向用户显示消息请确保您的Cookie和javascript已启用

由于

1 个答案:

答案 0 :(得分:2)

无法在服务器端检查它。您必须让客户端以某种方式通知服务器端。

在您的特定情况下,您可以让JS设置一个cookie并在服务器端进行检查。

<h:outputScript>
    if (document.cookie.indexOf('js=true') == -1) {
        document.cookie = 'js=true';
        window.location.reload(true);
    }
</h:outputScript>
<h:panelGroup rendered="#{not cookie.js.value}">
    Please make sure that Cookies and JavaScript are enabled.
</h:panelGroup>

JS将检查是否还没有name = value为js=true的cookie,然后设置它并重新加载页面(以便发送cookie)。请注意,禁用JS时不会执行此操作。 JSF rendered属性将检查名为js的cookie是否具有值true,然后相应地显示该消息。一石二鸟:)