【问题标题】:How to detect if javascript is enabled or not in browser through Java如何通过Java检测浏览器中是否启用了javascript
【发布时间】:2012-05-11 19:09:19
【问题描述】:
我想知道有什么方法可以检测浏览器中是否启用了 Javascript。就像我们可以通过使用过滤器中的代码来检测 cookie
if (httpServletRequest.isRequestedSessionIdFromCookie()) {
}
我也可以检测到 javascript 吗? Java 是否为此提供了任何方法?
实际上我想检查是否启用了 javascript 和 Cookies。如果没有,那么我想向用户显示消息 请确保您的 cookie 和 javascript 已启用
谢谢
【问题讨论】:
标签:
javascript
jakarta-ee
cookies
jsf-2
【解决方案1】:
没有办法在服务器端检查它。您必须让客户端以某种方式通知服务器端。
在您的特定情况下,您可以让 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 的值,然后相应地显示消息。一石两鸟:)