Well dt has nothing to do with time. It's the time since the last frame, and that's it.
What you should do is use a variable, that you can control, as your measure of time. Basically set the variable to the system time.
But the problem is not all browsers are that accurate at keeping time.
Most mobiles are absolutely terrible at it.