La désactivation de l'android de google chrome pull-down à la fonctionnalité d'actualisation

J'ai créé une petite application web HTML5 pour mon entreprise.

Cette application affiche une liste d'éléments et tout fonctionne bien.

L'application est principalement utilisé sur les téléphones android et Chrome comme navigateur. Aussi, le site est enregistré sur l'écran d'accueil pour Android de gérer la chose comme une application (à l'aide d'une WebView je suppose).

Chrome Bêta (et je pense aussi que le Système Android WebView) a introduit un "tirez vers le bas pour rafraîchir" fonction (Voir ce lien par exemple).

C'est une fonctionnalité très pratique, mais je me demandais si elle peut être désactivée avec un peu de meta tag (ou javascript choses) parce que l'actualisation peuvent être facilement déclenchées par l'utilisateur lors de la navigation dans la liste et l'ensemble de l'application est rechargé.

Aussi c'est une fonctionnalité qui n'est pas requis par l'application.

je sais que cette fonctionnalité est uniquement disponible en Chrome beta, mais j'ai la sensation que c'est l'atterrissage sur l'application plus stable, aussi.

Merci!

Edit: j'ai désinstallé google Chrome Bêta et le lien épinglé à l'écran d'accueil s'ouvre maintenant avec la stable de Chrome. Ainsi, le épinglé liens commence avec Chrome et pas avec une webview.

Edit: aujourd'hui (2015-03-19) le pull-down-to-refresh est venu à la version stable de chrome.

Edit: a partir de @Evyn réponse j'ai suivi ce lien et a obtenu ce javascript/jquery code du travail.

JS:

var lastTouchY = 0;
var preventPullToRefresh = false;

$('body').on('touchstart', function (e) {
    if (e.originalEvent.touches.length != 1) { return; }
    lastTouchY = e.originalEvent.touches[0].clientY;
    preventPullToRefresh = window.pageYOffset == 0;
});

$('body').on('touchmove', function (e) {
    var touchY = e.originalEvent.touches[0].clientY;
    var touchYDelta = touchY - lastTouchY;
    lastTouchY = touchY;
    if (preventPullToRefresh) {
        //To suppress pull-to-refresh it is sufficient to preventDefault the first overscrolling touchmove.
        preventPullToRefresh = false;
        if (touchYDelta > 0) {
            e.preventDefault();
            return;
        }
    }
});

Comme @bcintegrity souligné, je l'espère, pour un site de manifeste de la solution (et/ou un méta-tag) dans l'avenir.

En outre des suggestions pour le code ci-dessus sont les bienvenus.

  • Ouais c'est vraiment nulle. A été dans le milieu de la forme et défile vers le haut, trop loin et elle renouvelle et tout perdu. C'est un retardé par défaut de la fonctionnalité, je clique sur l'icône Actualiser si je veux actualiser!
  • Ce serait bien si cette fonctionnalité peut être désactivée dans mon web du manifeste de l'application. Malheureusement, à chaque page sur mon application web a contenu défilant, il est presque impossible de naviguer sans rafraîchissant. Je suis un peu cochée. :/
  • C'est une bonne info. Je déteste les sites web que désactiver l'attraction de la fonction d'actualisation. J'aimerais développer une fonctionnalité permettant de faire du rafraîchissement de travail, indépendamment du contenu de la page.
  • Parlant en tant que développeur web, déroulant actualisation est incompatible avec piloté par les données des sites web, il recharge la demande. Il est impossible pour un utilisateur de faire défiler vers le haut d'une page sans rechargement de la page entière. Je suis à 100% favorable de Chrome, j'espère qu'ils supprimer cet anti-fonctionnalité.
  • Un autre développeur ici: si vous développez votre application intelligemment, ce ne sera pas un problème si vous utilisez un magasin de données comme Redux puis de synchroniser votre "cohérente" de données avec localstorage. Les données qui doit être actualisé sera alors mise à jour de la perfection et de la forme des entrées, etc persistent, même événements d'actualisation.
  • J'ai été confronté moi-même à cette TABLE "fonction"... beaucoup de pages web, de nombreuses formes, un insouciant tirer vers le bas avec mon doigt et de données sur cette page sont perdus! Retarder fonction de l'OMI. Il doit être désactivé par défaut, qui ont besoin d'elle, puis laissez-le code de. Je me demandais par jours pourquoi mes "clients" de temps en temps perdu leurs données sur GC...

InformationsquelleAutor Sebastiano | 2015-03-12