我想知道是否有一种方法可以检测浏览器中的Javascript是否启用。就像我们可以通过在过滤器中使用代码来检测cookie一样。
if (httpServletRequest.isRequestedSessionIdFromCookie()) {
}
我能检测JavaScript吗?Java提供了任何方法吗?实际上,我想检查是否启用了javascript和Cookies。如果没有启用,则我想向用户显示消息“请确保您的cookies和javascript已启用”
谢谢
我想知道是否有一种方法可以检测浏览器中的Javascript是否启用。就像我们可以通过在过滤器中使用代码来检测cookie一样。
if (httpServletRequest.isRequestedSessionIdFromCookie()) {
}
我能检测JavaScript吗?Java提供了任何方法吗?实际上,我想检查是否启用了javascript和Cookies。如果没有启用,则我想向用户显示消息“请确保您的cookies和javascript已启用”
谢谢
服务器端无法检查它。您需要让客户端以某种方式通知服务器端。
在您的特定情况下,您可以使用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
,然后相应地显示消息。一箭双雕 :)