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

3

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

if (httpServletRequest.isRequestedSessionIdFromCookie()) {

}

我能检测JavaScript吗?Java提供了任何方法吗?实际上,我想检查是否启用了javascript和Cookies。如果没有启用,则我想向用户显示消息“请确保您的cookies和javascript已启用”

谢谢


请检查:https://dev59.com/eHVD5IYBdhLWcg3wAWkO - swati
1个回答

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会检查是否已经存在一个名为js=true的cookie,如果没有,则设置并重新加载页面(以便发送cookie)。请注意,当JS被禁用时,这将不会执行。JSF的rendered属性将检查名为js的cookie是否没有值为true,然后相应地显示消息。一箭双雕 :)


2
如果禁用了cookie,这不会导致无限循环吗? - freecouch
请记住,用户必须启用cookie - alejnavab

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接