web-dev-qa-db-fra.com

Chrome Navigateur pour Android ne prend plus en charge -webkit-overflow-scrolling? Existe-t-il une alternative?)

J'ai mis à jour la dernière version de Chrome pour Android sur ma tablette Nexus 7 et ...

-webkit-overflow-scrolling: touch

... ne fonctionne plus. En outre, ce qui suit est évalué à faux:

!!('WebkitOverflowScrolling' in document.documentElement.style)

La prise en charge du défilement par débordement a-t-elle été supprimée des versions plus récentes de Chrome pour Android? Existe-t-il un mécanisme de défilement de momentum équivalent ou comparable (pas iScroll, etc.) que je peux utiliser dans la dernière version ?

De plus, j'ai recherché Chrome Beta dans le Play Store sur mon appareil et il n'apparaît pas dans les résultats de recherche. Peut-être que la version bêta n'est pas offerte pour les tablettes Nexus 7?

Toute aide à ce sujet est très appréciée. Il est très frustrant que Google semble avoir supprimé cette fonctionnalité de son navigateur ....

modifier:

Informations détaillées sur la version:

Tablette Nexus 7 exécutant Android version 4.2.2

-webkit-overflow-scrolling: touch;

et

!!('WebkitOverflowScrolling' in document.documentElement.style)
  • Fonctionne et prend la valeur true sur Chrome version 18.0.1025469
  • Ne fonctionne pas et prend la valeur false sur Chrome version 26.0.1410.58
21
user2262484

Essayez d'ajouter z-index: 0 à l'élément avec overflow: scroll pour créer un contexte d'empilement fournissant un indice pour Chrome pour utiliser le chemin de code à défilement rapide).

Contexte:

Je rencontre actuellement ce problème après la mise à jour vers la dernière version de Chrome pour Android. Cela a également été aggravé pour moi par le fait qu'en raison de cette modification, le test Modernizr actuel = car cette fonctionnalité retourne désormais false, donc mes styles CSS n'étaient pas appliqués.

En fouillant, j'ai trouvé un autre problème qui traite de la prise en charge du défilement tactile de débordement:

Tien-Ren a observé lors du débogage 162363 que -webkit-overflow-touch est une propriété héritée. Ainsi, le comportement de la configuration z-index: 0 sur tous les éléments non cachés avec cette propriété crée une cascade de contextes d'empilement en dessous. (Ce comportement, derrière ENABLE_ACCELERATED_OVERFLOW_SCROLLING, n'est actuellement activé que sur Android.) La solution évidente serait de définir z-index: 0 uniquement sur les éléments "overflow: scroll"

Il semblerait donc que si vous rencontrez des problèmes avec le défilement qui ne fonctionne pas comme prévu, ajouter z-index: 0 à l'élément avec débordement: faites défiler puis cela peut aider. Cependant, cela n'a pas fonctionné pour moi, bien que les sections de défilement aient fonctionné (après avoir modifié le test de défilement css-overflow-Modernizr pour qu'il soit vrai pour cette version de Chrome), l'effet d'élan du défilement n'était pas présent.

17
SneakyBrian

De cette URL = https://code.google.com/p/chromium/issues/detail?id=175670&q=overflow-scrolling&colspec=ID%20Pri%20M%20Iteration%20ReleaseBlock%20Cr%20Status%20Owner% 20Summary% 20OS% 20Modified

'Non, je pense que cela a en effet été déclenché par 172481. Nous avons supprimé -webkit-overflow-scrolling avec l'espoir que ce n'était plus nécessaire car nous options automatiquement pour un défilement rapide lorsque nous avons besoin. Le problème est que cela ne se produit pas ici.

Ces changements SP que vous avez mentionnés n'affecteront probablement pas ce problème car ils n'apparaîtront pas sur un compte non-corp, non? Je pense que tout fonctionne bien avec corp mais je vais vérifier. "

8

Une sale solution qui a fonctionné pour moi (requis Hammer js):

  Hammer($('body')[0]).on("dragup", function(ev) {
            window.scrollBy(0,ev.gesture.distance);
        });
         Hammer($('body')[0]).on("dragdown", function(ev) {
            window.scrollBy(0,-ev.gesture.distance);
        });
0
Hugo Zapata