Soporte » Guías – Resolución de problemas » Entrar en una entrada al volver atrás

  • Resuelto Jose

    (@josebr199m)


    Hola, en mi web al entrar a una entrada y después volver atrás me devuelve al principio del todo.

    ¿Cómo podría configurarlo para que me devolviera justo en el lugar que estaba del inicio antes de entrar a esa entrada que accedí?

    Gracias por adelantado.

    • Este debate fue modificado hace 4 meses, 1 semana por Jose.
    • Este debate fue modificado hace 4 meses, 1 semana por Jose.

    La página con la que necesito ayuda: [accede para ver el enlace]

Viendo 9 respuestas - 1 de 9 (de 9 total)
  • Solo consigo solucionarlo con esta opción activada, pero el problema así es que en el móvil no carga la versión móvil: https://abload.de/img/sinttulosakt0.jpg

    Dejo un vídeo del problema al que me refiero en el primer post: https://streamable.com/t8rwk

    He escrito al soporte de la plantilla minamaze también.

    • Esta respuesta fue modificada hace 4 meses, 1 semana por Jose.
    • Esta respuesta fue modificada hace 4 meses, 1 semana por Jose.

    Hola

    Ese es el comportamiento habitual, te regresa a la URL anterior y la carga desde el principio. Tienes que poner los botones para hacerlo, revisa los siguientes enlaces:

    Manipulando el historial del navegador

    History back() Method

    Back button / Return button

    Cuando lo tengas listo puedes comentarnos como lo hiciste y cerrar el debate marcándolo como resuelto.

    Gracias, lo que no tengo claro es en qué archivo de la plantilla tengo que introducir el script.

    • Esta respuesta fue modificada hace 4 meses, 1 semana por Jose.

    En el último enlace te lo explica aplicado a WordPress, no modifiques los archivos, añádelo con los hooks que correspondan al sitio donde quieras que se vean.

    El código irá o bien en el functions.php del tema o si no también lo puedes añadir como un nuevo plugin o con un plugin de personalizaciones como Code Snippets

    Aún añadiendo el botón todavía sin salir bien, le hago clic y me lo aparece en la página principal a mitad, no llega a recordar la posición que estaba en la página principal antes de entrar a la entrada.

    En firefox no parece tener este problema, recuerda la posición exacta, pero en chrome no.

    Comprobado en firefox pc y móvil recuerda la posición.

    En chrome pc y móvil es donde no la recuerda y manda al principio o a mitad de página.

    • Esta respuesta fue modificada hace 4 meses, 1 semana por Jose.
    • Esta respuesta fue modificada hace 4 meses, 1 semana por Jose.
    • Esta respuesta fue modificada hace 4 meses, 1 semana por Jose.

    El soporte de la plantilla me ha dicho que es problema del navegador, cuando la plantilla demo recuerda la poisición exacta al volver atrás, quizás ha sido alguna modificación que hice durante todo este tiempo que la tengo, pero no me he dado cuenta hasta hace pocos días.

    Jose

    (@josebr199m)

    Buenas, conseguí solucionarlo investigando y rebuscando por los archivos de jquery, scripts de mi plantilla minamaze pro. Dejo la solución por si le pudiera servir a alguien en un futuro.

    Reemplazar:wp-content/themes/Minamaze_Pro/lib/scripts Archivo: main-frontend

    jQuery(‘html, body’).animate({scrollTop:0}, ‘slow’);

    a

    jQuery $(«html, body»).animate({ scrollTop: «1000px» });

    • Esta respuesta fue modificada hace 3 meses por Jose.
    • Esta respuesta fue modificada hace 3 meses por Jose.
    • Esta respuesta fue modificada hace 3 meses por Jose.
    Jose

    (@josebr199m)

    Acabo de actualizar el cache y ahora no aparece el slider y no puedo abrir el menú desplegable desde el móvil

    Jose

    (@josebr199m)

    Lo he solucionado casi por completo a excepción que no me mostraba el slider de mi tema añadiendo al final el siguiente código en el archivo main-frontend

    $(document).ready(function (e) {
        let UrlsObj = localStorage.getItem('rememberScroll');
        let ParseUrlsObj = JSON.parse(UrlsObj);
        let windowUrl = window.location.href;
    
        if (ParseUrlsObj == null) {
            return false;
        }
    
        ParseUrlsObj.forEach(function (el) {
            if (el.url === windowUrl) {
                let getPos = el.scroll;
                $(window).scrollTop(getPos);
            }
        });
    
    });
    
    function RememberScrollPage(scrollPos) {
    
        let UrlsObj = localStorage.getItem('rememberScroll');
        let urlsArr = JSON.parse(UrlsObj);
    
        if (urlsArr == null) {
            urlsArr = [];
        }
    
        if (urlsArr.length == 0) {
            urlsArr = [];
        }
    
        let urlWindow = window.location.href;
        let urlScroll = scrollPos;
        let urlObj = {url: urlWindow, scroll: scrollPos};
        let matchedUrl = false;
        let matchedIndex = 0;
    
        if (urlsArr.length != 0) {
            urlsArr.forEach(function (el, index) {
    
                if (el.url === urlWindow) {
                    matchedUrl = true;
                    matchedIndex = index;
                }
    
            });
    
            if (matchedUrl === true) {
                urlsArr[matchedIndex].scroll = urlScroll;
            } else {
                urlsArr.push(urlObj);
            }
    
        } else {
            urlsArr.push(urlObj);
        }
    
        localStorage.setItem('rememberScroll', JSON.stringify(urlsArr));
    
    }
    
    $(window).scroll(function (event) {
        let topScroll = $(window).scrollTop();
        console.log('Scrolling', topScroll);
        RememberScrollPage(topScroll);
    });

    He instalado un slider externo con un plugin y solucionado, ahora recuerda la posición exacta, carga correctamente el menú tanto en pc como en móvil y el slider con un plugin externo.

    • Esta respuesta fue modificada hace 3 meses por Jose.
    • Esta respuesta fue modificada hace 3 meses por Jose.
Viendo 9 respuestas - 1 de 9 (de 9 total)
  • Debes estar registrado para responder a este debate.