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?

Était-ce utile?

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!

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top