如何在呈现页面之前运行JavaScript或jQuery脚本

时间:2011-01-31 12:22:17

标签: javascript jquery http cookies

如何在呈现页面之前运行JavaScript或jQuery脚本?

具体来说,我想检查某些cookie是否存在。

如果cookie不存在,我不想显示页面内容,而是立即重定向到身份验证页面。

目前,页面内容已加载并呈现,之后浏览器将重定向到身份验证页面。

我试过了:

<body onload="checkCookies()">
...
</body>

以及:

<head>
<script type="text/javascript">checkCookies();</script>
...
</head>

在这两种情况下,都会加载相关页面,然后检查Cookie。

如何使用JavaScript(或jQuery)并在加载页面的其余部分之前进行cookie检查?

4 个答案:

答案 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.
    }
}