如何在呈现页面之前运行JavaScript或jQuery脚本?
具体来说,我想检查某些cookie是否存在。
如果cookie不存在,我不想显示页面内容,而是立即重定向到身份验证页面。
目前,页面内容已加载并呈现,之后浏览器将重定向到身份验证页面。
我试过了:
<body onload="checkCookies()">
...
</body>
以及:
<head>
<script type="text/javascript">checkCookies();</script>
...
</head>
在这两种情况下,都会加载相关页面,然后检查Cookie。
如何使用JavaScript(或jQuery)并在加载页面的其余部分之前进行cookie检查?
答案 0 :(得分:7)
不要使用Javascript进行身份验证。这很容易逃避 - 你只需要关闭Javascript。在呈现页面之前,使用服务器端代码进行身份验证检查。
答案 1 :(得分:1)
只需使用如下:
<script type="text/javascript">
if(checkCookie()){
document.location="./configure/network.xml"
}
</script>
并将其置于脚本的顶部。它对我有用
答案 2 :(得分:0)
使用服务器端脚本进行身份验证。 如果你想使用javascript检查cookie,请使用此
function checkCookie()
{
var username=getCookie("username");
if (username!=null && username!="")
{
alert("Welcome again " + username);
}
else
{
username=prompt("Please enter your name:","");
if (username!=null && username!="")
{
setCookie("username",username,365);
}
}
}
答案 3 :(得分:0)
检查出来 - &gt;
您可以使用页面的prerender事件。
protected override void OnPreRender(EventArgs e)
{
base.OnPreRender(e);
//If cookie doesn't exist redirect to the authentication page.
if (Request.Cookies["UserName"] == null)
{
//redirects to the authentication page.
}
}