Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

74
Vistas
Mostrar progreso/cargador en la primera visita a la página y eliminar cuando la página está en el historial del navegador como Twitter

Estoy tratando de implementar la funcionalidad con js history api y php/codeigniter4 . Eso permitirá que la página muestre el progreso/cargador en la primera visit cuando no haya una página almacenada en browser history , pero si la página del historial del navegador se estableció y el usuario puede volver a la misma página, mostrará el contenido directamente sin mostrar un progreso/ loader o algún tipo de elemento html de rebote/cambio de tamaño cuando el contenido se recupera de la base de datos y se muestra en el elemento html.

El ejemplo real, como al navegar a las páginas de twitter / yahoo mail , muestra primero el cargador y luego muestra el contenido, pero cuando navega a otra página y regresa a la página anterior, mostrará el contenido directamente. No sé cómo se llama este tipo de acción por su nombre, pero espero haber entendido lo que quiero decir. ¿Cómo se puede hacer esto?

guión.js

 (($)=>{ // history page historySectionPage('.js-link-btn', 'href', '.result-container') })(jQuery); function historySectionPage(element = '', attr = 'href', container = '') { $(document).on('click touch', element, function(e){ e.preventDefault(); let href = $(this).attr(attr); //------ user goback and forward ----------- window.onpopstate = function(e){ if(e.state) renderAjax(e.state.href, container); }; //----- call page with history api ---------- renderAjax(href, container); window.history.pushState({href: href}, '', href); }); }

// representación de la página ajax

 function renderAjax(href, container) { let req; req = $.ajax({ url: href, method: 'GET', cache: false, dataType: 'html', }); req.done((data) => { let $res = $(data), $title = $res.filter('title').text().trim(), $contData = $res.find(container).html(); if(data){ $('title').text($title); $(container).html($contData); } }); }

¡Gracias de antemano!

about 4 years ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda