Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Mobile WebKit browsers - setTimeout and inactive pages

I have a question regarding how Mobile WebKit browsers (ie Mobile Safari and Android browser) handle setTimeout function when the page becomes inactive and is reactivated again.

Let's assume the page becomes inactive (ie the phone screen goes to 'sleep' / we open another application / we open another webpage), and the setTimeout function should have been activated before the page becomes active again.

Now to me it seems that:

  1. Mobile Safari executes the function as soon as the page is activated
  2. Android browser:
    • might execute the function as usual (i.e. JavaScript continues running even if the page is inactive)
    • might execute as soon as the page is activated (a la Mobile Safari)
    • might not execute at all

I was wondering if someone knows the exact "rules"?

like image 498
user338083 Avatar asked May 12 '10 16:05

user338083


1 Answers

According to the following question, Android just pauses the runtime, and it continues exactly where it left off when the browser is brought to the foreground.

Android browser javascript events when minimised

Slightly different than what you said about Mobile Safari, but seems like a better approach imho.

like image 72
quest Avatar answered Nov 05 '22 16:11

quest