Android Browser Touch-Ereignisse beenden die Aktualisierung der Anzeige. canvas / elements - Wie kann man das umgehen?

Aufetwas Der native Browser von Android, der die Seite berührt, scheint zu verhindern, dass die Anzeige aktualisiert wird, bis der Finger losgelassen wird. Dies tritt sowohl für HTML-Element-basierte Animationen (Klassenwechsel) als auch für Canvas-basierte Animationen auf. Die normale Ausführung wird jedoch nicht gestoppt, und andere Ereignisse werden normal ausgelöst. Auf Geräten mit diesem Problem scheint auch der Delphin-Browser betroffen zu sein (allerdings nicht Firefox).

Touchstart / Move haben sowohl preventDefault () ausgelöst als auch stopPropergation (), cancelBubble = true; und e.returnValue = false ;. In der CSS-Webkit-Auswahl wurde auch deaktiviert. Die Seite wird nicht gescrollt.

Eine ähnliche Frage wurde hier gestellt:Sperrt der Android-Browser DOM bei touchStart?

aber ich möchte herausfinden, ob dieses Verhalten überwunden werden kann, oder zumindest herausfinden, welche Geräte von dem Problem betroffen sind, handelt es sich um ein Geräte- oder Versionsproblem mit Android? Wenn Sie die Frage, in der die Demo ausgeführt wird, nicht beantworten können und Ihre Erfahrung zusammen mit dem Gerätemodell und dem User-Agent (unten auf der Demoseite angezeigt) als Kommentar angeben, kann dies anderen oder mir bei der Beantwortung der Frage helfen.

Hier ist eine Demo und Schritte, um das Verhalten zu reproduzieren. Einen QR-Code für den Link finden Sie hierhttps://s3-eu-west-1.amazonaws.com/canvas-test-pd/tmp.png.

https://s3-eu-west-1.amazonaws.com/canvas-test-pd/index.html

Die Webseite hat oben eine Leinwand und unten ein Div mit einem Hintergrundbild. Jede Sekunde wird die Leinwand gelöscht und ein anderes Bild angezeigt, und die Klasse der Div wird umgeschaltet (beide schalten zwischen 0 und 1 PNG um). Sobald dies ein paar Mal umgeschaltet wurde, legen Sie Ihren Finger auf die Leinwand (das obere graue Kästchen) und halten Sie es dort. Warten Sie ab, ob die Animation fortgesetzt wird (manchmal wird sie ein- oder zweimal angehalten) und ob visuelle Verzerrungen vorliegen.

Aktualisieren Es scheint, dass das Galaxy Tab mit Version 3.2 Handler für den Start / das Ende des Dokuments benötigt, nicht nur Divs, damit der Bildschirm die Anzeige weiter aktualisiert. Danke jimpic.

Ich fange an zu glauben, dass es ein Problem ist, das durch Hersteller-Skins verursacht wird, obwohl dies schwer zu beweisen ist.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage