2010-05-12 6 views
8

J'ai une question concernant la façon dont les navigateurs Mobile WebKit (c.-à-d. Mobile Safari et navigateur Android) gèrent la fonction setTimeout lorsque la page devient inactive et réactivée. Supposons que la page devienne inactive (c'est-à-dire que l'écran du téléphone passe en 'veille'/nous ouvrons une autre application/nous ouvrons une autre page) et la fonction setTimeout aurait dû être activée avant que la page ne redevienne active.Navigateurs WebKit mobiles - setTimeout et pages inactives

Maintenant, pour moi, il semble que:

  1. Safari Mobile exécute la fonction dès que la page est activée
  2. navigateur Android:
    • peut exécuter la fonction comme d'habitude (par exemple JavaScript continue en cours d'exécution même si la page est inactive)
    • peut s'exécuter dès que la page est activée (à la Safari Mobile)
    • pas exécuter du tout

Je me demandais si quelqu'un connaît les « règles » exactes?

Répondre

1

Selon la question suivante, Android interrompt simplement l'exécution et continue exactement là où elle s'était arrêtée lorsque le navigateur est amené au premier plan.

Android browser javascript events when minimised

légèrement différent de ce que vous avez dit à propos de Safari Mobile, mais semble être une meilleure approche IMHO.

Questions connexes