The mboxLoadSCPlugin is the bridge between the sitecatalyst and target. But this function has a critical random error. In case we use a Adobe tag manager to have the sitecatalyst code, The s_code will be loaded into the website as a third party resource. At this point, The mboxLoadSCPlugin makes the page to go blank whenever a loading variation occurs. When i investigated in mbox.js, I saw a mboxStandardScPluginFetcher used if the DOM is not loaded. Otherwise it goes for mboxAjaxScPluginFetcher. Now the error scenario comes. mboxStandardScPluginFetcher is picked as the DOM is not yet loaded. It proceeds to load function. In the meantime, if the DOM completes loading, the document.write will be over-writing the whole page and make it blank with only a mbox call.
Fix: Fix is simple to pick mboxAjaxScPluginFetcher always regard less of DOM load. this works fine.