jQuery Mobile - Удалить кнопку «Назад» только при указании на определенную страницу - PullRequest
1 голос
/ 27 октября 2011

У меня есть мобильное веб-приложение с экраном входа. После входа пользователь переходит на домашний экран приложения. Поскольку у меня включены кнопки «Назад» для всего приложения, кнопка «Назад» появляется на главном экране; однако нажатие кнопки «Назад» теперь вернет пользователя на страницу входа (что мне не нужно). В то же время на домашнем экране должна быть кнопка «Назад», поскольку пользователь может перейти на домашний экран с какого-либо другого экрана в приложении и может захотеть вернуться назад.

Так в принципе есть ли простой способ отключить кнопку "Назад", если она собирается перейти на экран входа в систему, но не, если она собирается куда-нибудь еще?

Ответы [ 3 ]

0 голосов
/ 27 октября 2011

Как насчет настройки массива посещенных страниц и проверки его, чтобы увидеть, была ли последняя страница страницей входа:

//setup array of page views
var page_views = [];
//add event handler for `pageshow` event
$('[data-role="page"]').live('pageshow', function () {
    //add current page to page_views array
    page_views.push(this.id);
    var page_views_length = page_views.length;
    //check if the current page is the homescreen and if the last page was the login page
    if (this.id == 'homescreen_id' && page_views_length > 1 && page_views[(page_views_length - 2)] == 'login_id') {//this assumes your login page has the id of `login_id` and your homescreen page has the id of `homescreen_id`
        //run code to hide the back button
    }
});
0 голосов
/ 14 января 2015

Добавьте data-ajax = "false" в форму входа в систему.Я предполагаю, что ваша форма входа и домашний экран существуют в одном домене.

Поэтому, когда вы заходите на example.com, вы видите форму входа (если не вошли в систему) ... когда вы заходите на example.com, вы видитеэкран приветствия ...

Пример PHP моего макета индекса ... (грязно):

<div data-role="page">
<?php if ($notloggedin) { ?>
    <form method="post" action="<?= $this->baseUrl('/'); ?>" id="login-form" data-ajax="false">...form...</form>
<?php } else { ?>
    YOUR PAGE
<?php } ?>
</div>

jquery ссылки на мобильные страницы

0 голосов
/ 27 октября 2011

Другая стратегия, которую вы могли бы рассмотреть, состоит в том, чтобы страница входа добавляла параметр в строку запроса домашней страницы, указывающий, что back должен быть отключен.

http://myapp.com/page.html?backDisable=true

Внутри вашей страницы простой вызов javascript может определить, был ли передан параметр, и если это так, отключить кнопку возврата.Вот пример использования плагина парсера URL .

if ($.url().param('backDisable') === 'true') {
  $('#backButton')[0].disabled = true;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...