jQuery Mobile - артқы түймені тек нақты бетке нұсқаған кезде алып тастаңыз

Кіру экраны бар мобильді веб-бағдарлама бар. Жүйеге кіргеннен кейін пайдаланушы бағдарламаның басты экранына өтеді. Бүкіл бағдарлама үшін қосулы түймешіктер бар болғандықтан, басты экранда артқы бөлік пайда болады; алайда «Артқа» батырмасын басу пайдаланушыны кіру бетіне қайтарады (мен қаламаймын). Сонымен бірге, басты экранда «Артқа» түймесі болуы керек, себебі пайдаланушы қосымша экрандағы басқа экрандық экранға түсіп, қайтып оралуы мүмкін.

Осылайша, ол кіру экранына өту керек болса, артқы түймені ажыратудың оңай жолы бар, бірақ егер ол басқа жерге баратын болса, жоқ па?

1
Егер ол кірген болса, пайдаланушыны үйге/әдепкі бетке автоматты түрде бағыттаудың жақсы тәсілі
қосылды автор Andre, көзі
Мен мұны жасаймын. Бірақ, егер ол кез келген жағдайда қайта бағытталса, пайдаланушыға логинге қайта оралу мүмкіндігін беру дұрыс емес. Уақытты үнемдейді, сұраулар және т.б.
қосылды автор Jay, көзі

3 жауаптар

Енгізуіңізге болатын тағы бір стратегия бар, кіру беті бастапқы беттің сұрау жолына қосылатын параметрді қосып, оны кері өшіру керек.

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

Сіздің бетіңізде қарапайым JavaScript қоңырауы параметрдің берілуін анықтайды және артқа артқан кезде өшіреді. Мұнда URL талдаушы плагинін пайдаланатын үлгі бар.

if ($.url().param('backDisable') === 'true') {
  $('#backButton')[0].disabled = true;
}
0
қосылды
jQuery Mobile-да URL-мекен-жайларын талдауға арналған кейбір әдістер бар (мысалы, $. mobile.path.parseUrl ): jquerymobile.com/demos/1.0rc2/docs/api/methods.html
қосылды автор Jasper, көзі

Келген беттер жиынын орнату және соңғы беттің кіру беті болып табылатынын тексеру үшін оны қалай тексеруге болады:

//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
қосылды
Бұл тек беттің тарихымен бірге алаптың орнына соңғы бетті ғана сақтаймын. Тек алдыңғы парақтар ғана
қосылды автор Jay, көзі

Кіру-for-form-data-ajax = «false» қосыңыз. Мен өзіңіздің кіру формаңызды және үй экранымды бір доменде бар деп есептеймін.

Мәселен, 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
қосылды