You can create an iframe, and then get a window object to it, get a new setTimeout definition and overwrite it in your global namespace:
var f = document.createElement('iframe'); document.body.appendChild(f); window.setTimeout = f.contentWindow.setTimeout; document.body.removeChild(f);
Although this works, it is probably not a good idea for 2 scripts to start rewriting each other. I suggest you let FB take control of the setTimeout function and use its new copy, but do not overwrite it again (you can save it in a local var or in a global variable with a different name).
source share