3 votes

Mobile Safari ouvre un onglet avec window.scrollY réglé sur un grand nombre négatif, seule la bannière intelligente est visible.

J'essaie de résoudre un bogue très contrariant (qui pourrait bien être un problème de Safari mobile) où l'ouverture d'une URL à partir d'une application entraîne le chargement de la page avec une valeur de défilement négative importante et l'affichage de la seule bannière intelligente.

Dans l'exemple ci-dessous, window.scrollY = -324. Ceci se passe sous iOS 8.1.2, à la fois sur l'iPad et l'iPhone.

iPad Smart Banner initial scroll problem

Aucun javascript lié au défilement n'est exécuté au chargement de la page. Tout apparaît comme prévu dans le DOM, mais lorsque la bannière intelligente est activée, ce problème de défilement se produit de façon sporadique. (Il semble se produire le plus souvent

Le problème se résout après tout événement de toucher ou de rotation, ce qui suggère que le navigateur sait que window.scrollY doit être égal à 0.

Quelqu'un a-t-il eu affaire à un problème similaire ?

1voto

Than Points 176

Il semble s'agir d'un bogue dans Safari mobile. J'ai pu reproduire ce bogue en utilisant une application iOS de démonstration. Tous les détails sont ici : https://github.com/than/Mobile-Safari-Smart-Banner-Viewport-Bug

Vidéo de l'insecte en action : https://www.youtube.com/watch?v=IEILZ9uyH4g

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X