Даже после выхода из системы, пользователь может вернуться к предыдущей странице. - PullRequest
1 голос
/ 20 октября 2011

У меня есть несколько страниц на моем мобильном веб-сайте.Одна страница позволяет пользователю войти в систему, а другая показывает пользователю его дату и позволяет пользователю выйти из системы.Однако, когда пользователь вышел из системы и перенаправлен на страницу входа, он может нажать кнопку «Назад» и вернуться на страницу, где он предположительно прошел аутентификацию.

У меня есть только одна html-страница, разделенная на несколько элементов div («страниц»), и я использую $.mobile.changePage для перехода с одной страницы на другую.

Как я могу сделать так, чтобы, когда пользователь нажимает кнопку "Назад", он не видел свои данные?

Когда я возвращаюсь назад, мой «pageinit» не выполняется.Если бы это было так, я бы смог проверить, вошел ли пользователь в систему ...

Ответы [ 2 ]

1 голос
/ 20 октября 2011

Пример:

JS

var $secure_token = true;

$('div').live('pageshow',function(event, ui) {
    // Check for secure token here
    if($secure_token != true) {
        $.mobile.changePage("#login", { transition: "slideup"} );
    }
});

// Act if user has logged out
$('#secure2').live('pageshow',function(event, ui) {
    $secure_token = false;
});

HTML

<div data-role="page" id="login">
    <div data-role="content">
        <ul data-role="listview" data-inset="true" data-theme="c" data-dividertheme="f">
            <li data-role="list-divider">Redirect</li>
            <li><a href="#secure1">Secure Page 1</a></li>
            <li><a href="#secure2">Secure Page 2</a></li>
        </ul>
    </div>
</div>

<div data-role="page" id="secure1">
    <div data-role="content">
        <ul data-role="listview" data-inset="true" data-theme="c" data-dividertheme="f">
            <li data-role="list-divider">Secure Page 1</li>
            <li><a href="#secure2">Secure Page 2</a></li>
        </ul>
    </div>
</div>

<div data-role="page" id="secure2">
    <div data-role="content">
        <p>Please hit the browser back button or right click and back</p>
    </div>
</div>
0 голосов
/ 20 октября 2011

Я думаю, что это нормальное поведение, так как любой браузер сохраняет предыдущую веб-страницу, которую он отобразил.Я только что проверил с моей собственной веб-страницей, и она действительно показывает информацию, но всякий раз, когда вы пытаетесь что-то изменить, система перенаправляет на страницу входа в систему.

Я имею в виду, что они увидят предыдущие данные, но они будут устаревшими, и они не смогут изменить их без входа в систему.

...