Question

I'm working on browser-extension in facebook, now my problem is that facebook override the setTimeout & setInterval native functions, and their implementation do not work on Internet Explorer.

Is there a way to implement those functions?

Was it helpful?

Solution

You could create an iframe and then access it's window object, get the fresh setTimeout definition and overwrite the one 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's probably not a good ideea for 2 scripts to start overwriting each other's variables. I suggest you let FB to take control over the setTimeout function and you use the fresh copy of it, but not to overwrite it again (you can store it in a local var, or in a global variable with another name).

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top