-
-
Save ded/841930 to your computer and use it in GitHub Desktop.
function r(f){/in/(document.readyState)?setTimeout(r,9,f):f()} |
Very nice script to my small library.
What is the license?
use this: https://github.com/ded/domready - it's stable with a license too
I can not run this function with /in/.test....
this check will fail if the document stays in "interactive" stage. use /in[^t]/ instead of /in/.
You have a syntax error on /in/(... must be /in/.test(... And the regex expression will return true in 'interactive ' it will only call f() when it's readyState is complete on some cases (file is on browser cache), not when it is loaded. So the best shot is:
function r(f){/(un|ing)/.test(document.readyState)?setTimeout(r,9,f):f()}
Thanks @mjschutz, your version works fine (at least on Chrome).
So far this is the most stable solution I have seen, I tried @dperini but does not appear to work if DOMContentLoaded is already called, by say, jQuery, then it won't work. This small piece of code in the other hand, even though I was concerned by the looping timer, seems to work fine, and doesn't seem to even show up in js profiler, so i think i am liking it. I also like the size.
Seems to work as described in Safari 5.0.5