任何人都可以帮我尝试使用Java代码检查客户端浏览器中是否启用了JavaScript。
答案 0 :(得分: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>
在服务器上:
/**
* 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;
}
答案 1 :(得分:5)
在你的形式中你可以输入这样的代码:
<noscript>
<input type="hidden" name="JavaScript" value="false" />
</noscript>
只有在浏览器关闭脚本时才应提交参数。在Java应用程序中,您可以像这样检查它:
boolean javaScript = request.getParameter("JavaScript") == null;
答案 2 :(得分:3)
如果执行表单提交,您可以在表单中放入一个隐藏的输入,并使用javascript(来自OnSubmit)填写其值,并在服务器端检查它。
答案 3 :(得分:0)
一个简单的事情是从页面回调,例如AJAX调用。我认为没有任何其他方法可以确定这一点,至少不是普遍的。
答案 4 :(得分:0)
您是尝试在服务器端执行此操作还是在applet中的客户端上执行此操作?
如果浏览器不支持javascript(或关闭它),那么他们很可能不会支持Java applet。
答案 5 :(得分:0)
如果您有PHP支持,只需复制并粘贴以下代码即可。
<noscript>
<input type="hidden" name="JavaScript" value="false" />
</noscript>
/*This code is developed by Lankeshwer(nick name only) and can be used as open source by anyone*/
<?PHP
if($_POST['JavaScript']!='false'){
echo "<run your javascript code here>";} //replace this line with your actual javascript code
else
echo "<html><head><meta http-equiv="refresh" content="0;url=www.kharida.com"></head</html>";
?>
祝你好运,不要忘记让你的代码打开