为了更好地解释我的问题,这就是我所拥有的:
我正在使用预编码服务,我可以访问模板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”
希望这个解释好一点。
答案 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>