PluginProbe
Taboola / trunk
Taboola vtrunk
1.0.4 1.0.5 1.0.6 1.0.8 2.0.1 2.0.2 2.1.0 2.1.1 2.2.2 2.2.3 3.0.0 3.0.1 3.0.2 3.1.0 trunk 1.0 1.0.1 1.0.10 1.0.11 1.0.12 1.0.13 1.0.14 1.0.15 1.0.2 1.0.3
← All changes | js/loaderInjectionScript.js +72 -18 3.0.2trunk View file →
@@ -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 +})();