Перенаправление Javascript не работает
Я создаю мобильную версию своего приложения. Это часть страницы настроек (mysettings.php).
if(!isset($_SESSION['access_token']))
{
echo("<script type='text/javascript'> window.top.location.href='http://www.example.com/mobile/login.php'</script>");
}
Если access_token не установлен, то он должен перенаправить на login.php, но я не могу понять, почему он не работает.
В визуализированном исходном коде я вижу, потому что перенаправление не происходит (Код перенаправления существует)
<script type='text/javascript'> window.top.location='http://www.example.com/mobile/login.php'</script>
<!DOCTYPE html>
<html>
<head>...
.
.
.</html>
Я использую Chrome, и это исходный код, откуда я захожу на страницу mysettings.php
<?php
session_start();
$logins=0;
?>
<!DOCTYPE html>
<html>
<head>
<title>Page Title</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.css" />
<script src="http://code.jquery.com/jquery-1.8.2.min.js"></script>
<script src="http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.js"></script>
</head>
<body>
<div data-role="page">
<div data-role="header">
<h1>Settings</h1>
</div><!-- /header -->
<div data-role="content">
<div class="ui-grid-a">
<div class="ui-block-a"><a href="mysettings.php" data-role="button" data-mini="true">Settings</a> </div>
<div class="ui-block-b"><a href="my.php" data-role="button" data-mini="true">My Pictures</a> </div>
</div>
</div><!-- /content -->
<div data-role="footer">
</div><!-- /footer -->
</div><!-- /page -->
</body>
</html>
3 ответа
Вы можете использовать header
PHP функция для выполнения перенаправления:
<?php
if(!isset($_SESSION['access_token'])) {
header("Location: http://www.example.com/mobile/login.php");
exit;
}
?>
Обратите внимание, что это нужно будет выполнить перед отправкой разметки HTML.
Возможно попробуйте использовать php header("Location: http://some/url");
или также попытаться использовать window.location.href
Наконец, вместо вершины пытаются поставить скрипт вместо разметки документа, а не до этого (может работать?...)
Я добавил
data-ajax="false"
на кнопку на mysettings.php
и он начал работать нормально. Спасибо