我有一个索引页面,可以在进入“登录”页面之前检测用户是否启用了JavaScript和Cookie。如果两者都已启用,登录页面将仅显示登录表单。
我首先在索引页面上设置了一个cookie。如果在登录页面上读取cookie,则启用cookie。如果JavaScript被禁用,它会使用查询字符串重定向到登录页面,让我知道它失败了。
我现在的问题是,即使启用了脚本,重定向也会继续触发。我需要在这里更改什么?
<html>
<head>
<%
response.cookies("enabled")="1"
%>
<noscript>
<%response.redirect("http://www.test.com/test/login.asp?noscript=true&settingsCheck=1")%>
</noscript>
<%
response.redirect("http://www.test.com/test/login.asp?&settingsCheck=1")
%>
</head>
<body>
</body>
</html>
答案 0 :(得分:1)
NOSCRIPT
是客户端代码。 <% ... %>
执行服务器端。因此,无论周围标记如何,NOSCRIPT
标记内的代码仍会在服务器上进行评估。
您可以使用META
刷新标记来完成客户端上的重定向。这不需要脚本,因此可以放在NOSCRIPT
标记内。这是valid HTML 5 markup。
<noscript>
<meta http-equiv="refresh" content="0; url=http://www.foo.com?script=false">
</noscript>
<script>
window.location.href = "http://www.foo.com?script=true";
</script>