In my site I'm using asynchronous loading of the Facebook JS SDK. To actually set it up I use the standard FB.init inside of window.fbAsyncInit function.
However the issue is that in my site this function is on every single page. However when I'm in a subpage I can't directly add to the JS function due to the design of my site, I have to copy and paste the whole function and add my bits.
I don't think multiple fbAsyncInit's are possible, so whats the best way to implement this?
You can use this instead to check if you already have a fbAsyncInit and chain it toghether in that case:
var oldCB = window.fbAsyncInit;
window.fbAsyncInit = function(){
if(typeof oldCB === 'function'){
oldCB();
}
//Do Something else here
};
Sometimes the facebook api can call fbAsyncInit before your second fbAsyncInit has even started. This will fix that case:
if (window.fbAsyncInit.hasRun === true) {
setup(); // do something
} else {
var oldCB = window.fbAsyncInit;
window.fbAsyncInit = function () {
if (typeof oldCB === 'function') {
oldCB();
}
setup(); // do something
};
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With