| @@ -1,19 +1,73 @@ | ||
| 1 | -window._taboola = window._taboola || []; | |
| 2 | -_taboola.push({{{PAGE_TYPE}}:'auto'}); | |
| 3 | -_taboola.push({listenTo:'render',handler:function(p){TRC.modDebug.logMessageToServer(2,"wordpress-integ");}}); | |
| 4 | -_taboola.push({additional_data:{sdkd:{ | |
| 5 | - "os": "Wordpress", | |
| 6 | - "osv": "{{WORDPRESS_VERSION}}", | |
| 7 | - "php_ver": "{{PHP_VERSION}}", | |
| 8 | - "sdkt": "Taboola Wordpress Plugin", | |
| 9 | - "sdkv": "{{PLUGIN_VERSION}}", | |
| 10 | - "loc_mid": "{{LOC_MID}}", | |
| 11 | - "loc_home": "{{LOC_HOME}}" | |
| 12 | - } | |
| 1 | +(function () { | |
| 2 | + var PUBLISHER_ID = '{{PUBLISHER_ID}}'; | |
| 3 | + var PAGE_TYPE = '{{PAGE_TYPE}}'; | |
| 4 | + var LOADER_URL = '//cdn.taboola.com/libtrc/' + PUBLISHER_ID + '/loader.js'; | |
| 5 | + var LOADER_PRIVACY_URL = '//static.tblcontent.com/libtrc/' + PUBLISHER_ID + '/loader.privacy.js'; | |
| 6 | + var PIXEL_URL = 'https://static.qovani.com/libtrc/tr5?type=pixel&publisher=' + PUBLISHER_ID; | |
| 7 | + var SCRIPT_ID = 'tb_loader_script'; | |
| 8 | + var FALLBACK_ID = 'tb_loader_script_fb'; | |
| 9 | + var SHIM_GRACE = 500; | |
| 10 | + var MAX_WAIT = 6000; | |
| 11 | + | |
| 12 | + window._taboola = window._taboola || []; | |
| 13 | + | |
| 14 | + var pageTypePush = {}; | |
| 15 | + pageTypePush[PAGE_TYPE] = 'auto'; | |
| 16 | + _taboola.push(pageTypePush); | |
| 17 | + | |
| 18 | + _taboola.push({listenTo: 'render', handler: function (p) { TRC.modDebug.logMessageToServer(2, "wordpress-integ"); }}); | |
| 19 | + | |
| 20 | + _taboola.push({additional_data: {sdkd: { | |
| 21 | + "os": "Wordpress", | |
| 22 | + "osv": "{{WORDPRESS_VERSION}}", | |
| 23 | + "php_ver": "{{PHP_VERSION}}", | |
| 24 | + "sdkt": "Taboola Wordpress Plugin", | |
| 25 | + "sdkv": "{{PLUGIN_VERSION}}", | |
| 26 | + "loc_mid": "{{LOC_MID}}", | |
| 27 | + "loc_home": "{{LOC_HOME}}" | |
| 28 | + }}}); | |
| 29 | + | |
| 30 | + if (document.getElementById(SCRIPT_ID)) { return; } | |
| 31 | + | |
| 32 | + new Image().src = PIXEL_URL; | |
| 33 | + | |
| 34 | + var firstScript = document.getElementsByTagName('script')[0]; | |
| 35 | + var fallbackDone = false; | |
| 36 | + | |
| 37 | + function isLoaderReady() { | |
| 38 | + return typeof window.TRCImpl !== 'undefined' || (typeof window.TRC !== 'undefined' && window.TRC !== null); | |
| 13 | 39 | } |
| 14 | -}); | |
| 15 | -! function(e, f, u) { | |
| 16 | - e.async = 1; | |
| 17 | - e.src = u; | |
| 18 | - f.parentNode.insertBefore(e, f); | |
| 19 | -}(document.createElement('script'), document.getElementsByTagName('script')[0], '//cdn.taboola.com/libtrc/{{PUBLISHER_ID}}/loader.js'); | |
| 40 | + | |
| 41 | + function injectPrivacyLoader() { | |
| 42 | + if (fallbackDone || isLoaderReady()) { return; } | |
| 43 | + fallbackDone = true; | |
| 44 | + var primary = document.getElementById(SCRIPT_ID); | |
| 45 | + if (primary && primary.parentNode) { primary.parentNode.removeChild(primary); } | |
| 46 | + if (document.getElementById(FALLBACK_ID)) { return; } | |
| 47 | + var s = document.createElement('script'); | |
| 48 | + s.async = true; | |
| 49 | + s.src = LOADER_PRIVACY_URL; | |
| 50 | + s.id = FALLBACK_ID; | |
| 51 | + firstScript.parentNode.insertBefore(s, firstScript); | |
| 52 | + } | |
| 53 | + | |
| 54 | + var primaryScript = document.createElement('script'); | |
| 55 | + primaryScript.async = true; | |
| 56 | + primaryScript.src = LOADER_URL; | |
| 57 | + primaryScript.id = SCRIPT_ID; | |
| 58 | + primaryScript.onerror = injectPrivacyLoader; | |
| 59 | + primaryScript.onload = function () { | |
| 60 | + setTimeout(function () { | |
| 61 | + if (!isLoaderReady()) { injectPrivacyLoader(); } | |
| 62 | + }, SHIM_GRACE); | |
| 63 | + }; | |
| 64 | + firstScript.parentNode.insertBefore(primaryScript, firstScript); | |
| 65 | + | |
| 66 | + setTimeout(function () { | |
| 67 | + if (!isLoaderReady()) { injectPrivacyLoader(); } | |
| 68 | + }, MAX_WAIT); | |
| 69 | + | |
| 70 | + if (window.performance && typeof window.performance.mark === 'function') { | |
| 71 | + window.performance.mark('tbl_ic'); | |
| 72 | + } | |
| 73 | +})(); | |