MobileSafari: Faire défiler / Auto Pan à la position spécifique à la page après reload
-
01-10-2019 - |
Question
Je programme une page Web / -Demande pour l'iPhone. Je dois faire défiler jusqu'à une position spécifique après rechargement de la page, peu importe où je défile tout en utilisant la page précédente. L'utilisation I script fonctionne très bien dans Firefox, mais pas dans MobileSafari. Contrairement à Firefox, MobileSafari semble enregistrer la position que je défile précédemment et saute là-bas après reload, ignorant mon scrollTo déclenché sur reload.
Voici le code que je utilise:
function scroller(){scrollTo(1000,1000);}
window.addEventListener("load",scroller, false);
Il fonctionne avec clic-événements que je déclenche manuellement. Si je clique sur un bouton pour déclencher la fonction de défilement que le défilement se fait. J'ai essayé de déclencher le clic via un javascript événement synthétique, mais cela ne fonctionne pas non plus.
Est-il possible le défilement peut être archivé sur reload et / ou d'autres ne sont pas explicitement les événements déclenchés utilisateur?
La solution
Je n'ai pas trouvé une solution pour le problème réel qui semble être un bug. Mais j'ai trouvé une solution de contournement. Cela ne veut pas déclencher le défilement directement via un événement onload mais d'utiliser un setTimeout ()
init(){
setTimeout(scrollTo(0, 1000), 10)
//more code
}
//more code
window.onload=init;
Autres conseils
Qu'en est-il? iScroll prototype!