任何人都可以帮助我尝试检查是否使用Java代码在客户端浏览器中启用JavaScript.
Joh*_*ley 10
假设您正在编写Java Web应用程序,我成功使用的一种技术是访问第一个页面 - 通常是登录表单 - 在页面加载时编写会话cookie.然后使用表单提交的Java代码来检查该cookie是否存在.
在客户端:
<script type="text/javascript">
function createCookie(name, value, days) {
var expires = "";
if (days) {
var date = new Date();
date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
expires = "; expires=" + date.toGMTString();
}
var cookie = name + "=" + value + expires + "; path=" + "/";
document.cookie = cookie;
}
createCookie("JavaScriptEnabledCheck", 1, 0);
</script>
Run Code Online (Sandbox Code Playgroud)
在服务器上:
/**
* Returns <code>true</code> if the session cookie set by the login form
* is not present.
*
* @param request The HTTP request being processed
* @return <code>true</code> if JavaScript is disabled, otherwise <code>false</code>
*/
private boolean isJavaScriptDisabled(HttpServletRequest request)
{
boolean isJavaScriptDisabled = true;
Cookie[] cookies = request.getCookies();
if (cookies != null)
{
for (int i = 0; i < cookies.length; i++)
{
if ("JavaScriptEnabledCheck".equalsIgnoreCase(cookies[i].getName()))
{
isJavaScriptDisabled = false;
break;
}
}
}
return isJavaScriptDisabled;
}
Run Code Online (Sandbox Code Playgroud)
在你的表单中你可以输入如下代码:
<noscript>
<input type="hidden" name="JavaScript" value="false" />
</noscript>
Run Code Online (Sandbox Code Playgroud)
只有在浏览器关闭脚本时才应提交参数.在Java应用程序中,您可以像这样检查它:
boolean javaScript = request.getParameter("JavaScript") == null;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8281 次 |
| 最近记录: |