2013-04-09 12 views
20

ho aggiornato alla nuova versione di Chrome per Android sul mio Nexus 7 tablet e ...Chrome Browser per Android non supporta più -webkit-overflow-scrolling? C'è un'alternativa?

-webkit-overflow-scrolling: touch 

... non funziona più. Inoltre, il seguente risultato è false:

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

Il supporto per lo scorrimento in eccesso è stato rimosso dalle versioni più recenti di Chrome per Android? Esiste un meccanismo di scorrimento del momentum alternativo equivalente o equivalente (non iScroll, ecc.) Che posso usare trovato nella versione più recente?

Così, ho cercato per Chrome Beta nel Play Store sul dispositivo e non compare nei risultati di ricerca. Forse la versione beta non è disponibile per i tablet Nexus 7?

Qualsiasi aiuto su questo argomento è molto apprezzato. E 'molto frustrante che Google sembra aver rimosso questa funzionalità dal proprio browser ....

edit:

dettagliate informazioni sulla versione:

Nexus 7 tablet con sistema operativo Android versione 4.2. 2

-webkit-overflow-scrolling: touch; 

e

!!('WebkitOverflowScrolling' in document.documentElement.style) 
  • Opere e valuta true sulla versione Chrome 18.0.1025469
  • non funziona e restituisce false su Chrome versione 26.0.1410.58
+0

Puoi fornire esattamente la versione del sistema operativo Android e la versione esatta di Chrome per Android? Grazie. – mastDrinkNimbuPani

+0

@mastDrinkNimbuPani, grazie per la risposta. Il post originale è stato modificato con le informazioni richieste aggiunte. – user2262484

+0

Perché dovresti forzare il valore con '!!' quando è già un 'booleano' ... – Shikkediel

risposta

8

Da questo 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

' No, penso che questo sia stato effettivamente attivato dal 172481. Abbiamo rimosso -webkit-overflow-scrolling con la speranza che non fosse più necessario perché avremmo optato automaticamente -in scorrere velocemente quando abbiamo bisogno. Il problema è che non sta succedendo qui.

Le modifiche SP che hai citato probabilmente non influiranno sul problema perché non verranno visualizzate su un account non-corp, giusto? Penso che tutto funzioni bene con corp, ma controllerò.

+0

Grazie per la risposta. Non riesco ancora a capire perché -webkit-overflow-scrolling "non sia più necessario". Cos'è lo "scorrimento veloce?" Immagino che sia rilevante solo per il particolare contesto in discussione nella pagina collegata sopra e non per scopi generali. Quindi non esiste un'alternativa non plug-in allo standard ** overflow: auto ** funzionalità? Perché ** overflow: auto ** prevede uno scorrimento di bassa qualità senza slancio. – user2262484

+0

A proposito, ho provato a votare ma non ho il rappresentante. – user2262484

+1

"scorrimento veloce" è scorrimento nativo accelerato. Il punto è che -webkit-overflow-scrolling è inutile in quanto dovrebbe essere il comportamento predefinito di overflow: scroll. Questo è quello che volevano fare. – Grsmto

15

Prova ad aggiungere z-index: 0 all'elemento con overflow: scroll per creare un contesto di impilamento che fornisca un suggerimento a Chrome per utilizzare il percorso di codice a scorrimento veloce.

Background:

Attualmente sto sperimentando questo problema dopo l'aggiornamento alla versione più recente di Chrome per Android. Ciò è stato anche aggravato dal fatto che a causa di questo cambiamento il per questa funzione ora restituisce false, quindi i miei stili CSS non venivano applicati.

Scavando in giro ho trovato un altro issue che discute il supporto per il troppo pieno tocco di scorrimento:

Tien-Ren osservato durante il debug 162.363 che -webkit-trabocco-touch è una proprietà ereditata. Pertanto, il comportamento dell'impostazione di z-index: 0 su tutti gli elementi non nascosti di con quella proprietà crea una cascata di contesti di stacking sotto di esso. (Questo comportamento, dietro ENABLE_ACCELERATED_OVERFLOW_SCROLLING, è attualmente abilitato solo su Android.) La soluzione ovvia sarebbe quella di impostare z-index: 0 solo su "overflow: scorrere" gli elementi.

Così sembrerebbe che se si hanno problemi con lo scorrimento non funziona come ci si aspetta quindi aggiungendo z-index: 0 all'elemento con troppo pieno: scorrere allora questo può aiutare. Tuttavia questo non ha funzionato per me, sebbene le sezioni di scorrimento funzionassero (dopo che avevo modificato il test di scrolling del css-overflow di Modernizr per restituire true per questa versione di Chrome) l'effetto slancio dello scorrimento non era presente.

+0

z-index: 0 ha funzionato perfettamente per me. Ho avuto il tempo più difficile per risolvere questo. Grazie! –

+1

Sto ancora avendo seri problemi con questo ... c'è qualche altro tipo di soluzione? – scooterlord

+0

Funziona per me, ma come detto, solo con Android KitKat. Usando iOS o versioni precedenti di Android si ottiene uno scrolling senza slancio. Quindi non è davvero utilizzabile per una webapp. :( – Redfox

0

Una soluzione sporco che ha lavorato per me (js Hammer richiesto):

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); 
     }); 
-1

abbiamo avuto problemi di scorrimento con su Chrome 40.0 ... su Android (tablet & mobile) e abbiamo fissato con i CSS unica soluzione. Forse non è pulito ma funziona per noi:

@media screen and (max-width: 1024px) 
html, body { 
    z-index: 0 !important; 
    overflow: scroll !important; 
    } 
} 
Problemi correlati