页面重定向

时间:2011-05-16 19:11:43

标签: javascript redirect

为了更好地解释我的问题,这就是我所拥有的:

我正在使用预编码服务,我可以访问模板HTML文件。

登录页面的URL是:DynamicPage.aspx?Site = Mysite& WebCode = LoginRequired

主站点网址如下所示:DynamicPage.aspx?Site = Mysite& WebCode = or DynamicPage.aspx?Site = Mysite

我需要的是一个JavaScript,我可以放入主标题模板文件中查看“WebCode”并根据输入的内容重定向到某个页面。

我从“Sitifensys”获得了一个代码

  

Sitifensys

     

if (window.location.href!="foo.bar/login.php") window.location.href="login.php";

这段代码的问题是,即使我进入主页面,它仍然会将我重定向到login.php,我不希望它。我需要这个代码来读取“WebCode”如果是“LoginRequired”重定向到“Login.php”,否则重定向到“Test.php”

希望这个解释好一点。

5 个答案:

答案 0 :(得分:3)

尝试

window.location.href = "http://www.something.com/"

答案 1 :(得分:2)

不要这样做。如果您在JavaScript中执行任何操作,则可能很容易被用户阻止。如果用户没有特定的会话密钥,最好在PHP代码中添加if和()然后重定向到登录:

if(!(isset($_SESSION['logged_in']) && true == $_SESSION['logged_in']))
    {
    header('Location: login.php');
    die();
    }

答案 2 :(得分:0)

正如前面回答的那样,你应该在某处添加一个window.location.href =“somepage”。

脚本中的某些位置:

if (window.location.href!="foo.bar/login.php") window.location.href="login.php";

这不需要在页面加载事件的监听器中。

编辑: 关于你的新描述我会使用(但不推荐;))类似的东西:

if (location.pathname.indexOf("WebCode=LoginRequired")>0) {
    window.location.href="login.php";
}

希望这会有所帮助。

答案 3 :(得分:0)

if (location.pathname.indexOf(login.php) >= 0) {
   //don't redirect
} else {
   /...
}

答案 4 :(得分:0)

您可以在body代码的开头添加此脚本:

<body>
  <script>
    if((/WebCode\=LoginRequired/).test(window.location.href)){
      window.location.href = window.location.href.
        replace(/(\?|\&)WebCode\=LoginRequired/, '');
    }
  </script>
  ...
</body>