Recibo muchas quejas de los usuarios de que cuando usan mis pestañas basadas en jQuery, les resulta molesto que cuando vuelven a presionar en su navegador, no van a la pestaña anterior sino a la página anterior . Agregué los siguientes botones anterior / siguiente pero no lo suficiente. ¿Cómo puedo reconfigurar mis botones para que los usuarios accedan a la pestaña anterior en lugar de a la página anterior cuando hacen clic en la flecha hacia atrás del navegador? Puedes probarlo aquí .
$('#quicktabs-registration_steps').append('<div class="prevnext"><a class="tablink-prev btn" href="#">Prev</a><a class="tablink-next btn btn-lg btn-primary" href="#">Continue</a></div>');
$('.tablink-prev').click(function () {
    var index = $('.quicktabs-tabs li.active').index();
    $('.quicktabs-tabs li').eq(index).removeClass('active');
    if (index == 0) {
        index = 1;
    }
    $('.quicktabs-tabs li').eq(index - 1).addClass('active');
    $('.quicktabs-tabs li').eq(index - 1).find('a').click();
    return false;
});
$('.tablink-next').click(function () {
    var length = $('.quicktabs-tabs').first().children().size();;
    var index = $('.quicktabs-tabs li.active').index();
    $('.quicktabs-tabs li').eq(index).removeClass('active');
    //                if (parseInt(index) == parseInt(length) - 1 ) {
    //                    index = index - 1;
    //                }
    if (parseInt(index) == parseInt(length) - 1) {
        window.location.href = '/home'; //redirect to home
        //index = index - 1;
    }
    $('.quicktabs-tabs li').eq(index + 1).addClass('active');
    $('.quicktabs-tabs li').eq(index + 1).find('a').click();
    return false;
});
                    
                        javascript
                                jquery
                                
                    
                    
                        Efe
fuente
                
                fuente

Respuestas:
Puedes usar Historia.
Empuje un estado del historial cuando se abre una nueva pestaña
Referencia: https://developer.mozilla.org/en-US/docs/Web/API/History_API
fuente
Sin su código completo, no puedo darle un ejemplo a medida, pero simplemente puede agregar etiquetas de anclaje a cada pestaña que contenga div.
Esto actualizará la URL cada vez que un usuario haga clic en un enlace de pestaña. Estos cambios de URL se almacenarán en el historial del navegador y se recuperarán al navegar hacia atrás.
La URL actualizada se verá así cada vez que haga clic en una pestaña:
https://example.com#Tab1https://example.com#Tab2https://example.com#Tab3https://example.com#Tab4fuente
por un lado, su siguiente función de pestaña está escrita en javascript, y por el otro lado, el botón de retroceso en el navegador usa el historial del navegador, por lo que esto es irrelevante para sus funciones y no podría llevarlo a la pestaña anterior.
Entonces tienes dos formas de hacerlo realidad:
Primero: intente cargar cada paso en una página diferente actualizando el navegador, para que la página se guarde en el historial del navegador y presionando el botón Atrás puede ver el paso anterior
2º: debe tener un botón "anterior" para ver el paso anterior al igual que el botón del siguiente paso
fuente
He usado pestañas de arranque con la navegación de pestañas del navegador a continuación es el ejemplo completo
Puede consultar el ejemplo de trabajo en vivo de mi código
1> VAYA A https://www.notesgen.com (use el escritorio)
2> Crea tu cuenta como estudiante
3> IR A Mi cuenta / Mis descargas
4> Haga clic en Mis conexiones
fuente
Cambiar el hash es similar a presionar el estado
history.pushStateque desencadena elpopstateevento. Al presionar hacia atrás y hacia adelante en el navegador, aparecerán y empujarán estos estados para que no necesite ningún otro controlador personalizado.PD: Puedes agregar estilo CSS a
:targettuactiveclase. Loswindow.addEventListener('popstate'registros aquí sólo para mostrar el evento, pero elevent.statesiempre será nula en este caso.Ejecute el fragmento de código, intente navegar por las pestañas y luego use los botones de avance y retroceso del navegador.
fuente
lo primero que necesita, evite el enlace para enviar la url en el historial por $ event.preventDefualt () en el evento click y personalice el historial con history.pushState (datos, título, url) .
En js tenemos un evento que nos ayuda a controlar el evento de ida y vuelta por usuario. Este nombre de evento es "popstate". puede usarlo mediante window.addEventListener ('popstate', devolución de llamada) . en la función de devolución de llamada, puede activar y desactivar la pestaña (agregar y eliminar clase) y extraer la URL.
Muestro esto con un código de muestra. para hacerlo y comprenderlo mejor, pruébelo en un servidor o servidor local porque allí el cambio de URL en el aquí es limitado:
fuente