Pregunta Botón de actualización móvil jQuery


Tengo problemas cuando agrego contenido nuevo a la base de datos, las páginas no se actualizan. Así que estaba pensando en agregar un botón de actualización.

Espero poder hacer esto por favor?


5
2018-05-26 11:38


origen


Respuestas:


No necesitas jQuery para actualizar la página. Solo necesitas llamar location.reload(true).

Configurando el primer (y único) argumento para true nosotros fuerza una actualización desde el servidor, y no solo volver a cargar la página desde el caché.


2
2018-05-26 11:42



El problema que tienes tiene que ver con cómo jQuery Móvil almacena en caché las páginas. Y location.reload(true)  No trabajará ya que la URL tendrá una cadena hash.

Razón:

Para emular las transiciones móviles nativas, jQuery Mobile realiza una solicitud Ajax e inserta el <div data-role="page"> elemento dentro de la primero página, esencialmente creando un sitio de una sola página a partir de una página múltiple (con navegación, marcadores incorporados).

solución:

Sin embargo, al equipo le ha faltado un poco de previsión sobre cómo lidiar con el contenido dependiente del tiempo. Personalmente, he solucionado el problema agregando un atributo a mis enlaces que quiero obtener copia fresca.

$('body').delegate('a[data-cache=false]', 'click', function() {
    var $this = $(this);

    $('[data-url="' + $this.attr('href') + '"]' ).remove();

});

Esto escucha un evento de clic (toque, lo que sea), elimina el div en caché y permite a jQuery solicitar una copia nueva.

Nota:

Hay más de soluciones a este tal data-ajax="false" y rel="extenal" sin embargo, esto detendrá la funcionalidad del sistema de navegación para que funcione en toda su extensión. Además, el equipo de jQuery es consciente de los problemas relacionados con esto y actualmente está trabajando en una reescritura de navegación completa. http://jquerymobile.com/blog/2011/05/13/jquery-mobile-team-update-week-of-may-9th/.


10
2017-07-04 05:02