/
ujhn4ziwa.js.descarga
81 lines (54 loc) · 8.53 KB
/
ujhn4ziwa.js.descarga
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
/* ControlTag Loader for MercadoLibre - SRL - Sales Corporate 521c3f70-f651-4a70-9ba4-18e8d8ccdd08 */
(function(w, cs) {
if (/Twitter for iPhone/.test(w.navigator.userAgent || '')) {
return;
}
var debugging = /kxdebug/.test(w.location);
var log = function() {
debugging && w.console && w.console.log([].slice.call(arguments).join(' '));
};
var load = function(url, callback) {
log('Loading script from:', url);
var node = w.document.createElement('script');
node.async = true;
node.src = url;
node.onload = node.onreadystatechange = function () {
var state = node.readyState;
if (!callback.done && (!state || /loaded|complete/.test(state))) {
log('Script loaded from:', url);
callback.done = true;
callback();
}
};
var sibling = w.document.getElementsByTagName('script')[0];
sibling.parentNode.insertBefore(node, sibling);
};
var config = {"app":{"name":"krux-scala-config-webservice","version":"3.41.5","schema_version":3},"confid":"ujhn4ziwa","context_terms":[],"publisher":{"name":"MercadoLibre - SRL - Sales Corporate","active":true,"uuid":"521c3f70-f651-4a70-9ba4-18e8d8ccdd08","version_bucket":"stable","id":4799},"params":{"link_header_bidder":false,"site_level_supertag_config":"site","recommend":false,"control_tag_pixel_throttle":100,"fingerprint":false,"optout_button_optout_text":"Browser Opt Out","user_data_timing":"load","consent_active":true,"use_central_usermatch":true,"store_realtime_segments":false,"tag_source":false,"link_hb_start_event":"ready","optout_button_optin_text":"Browser Opt In","link_hb_timeout":2000,"link_hb_adserver_subordinate":true,"optimize_realtime_segments":false,"link_hb_adserver":"dfp","target_fingerprint":false,"context_terms":false,"optout_button_id":"kx-optout-button","dfp_premium":true,"control_tag_namespace":"mercadolibresrlsalescorporate"},"prioritized_segments":[],"realtime_segments":[],"services":{"userdata":"//cdn.krxd.net/userdata/get","contentConnector":"https://connector.krxd.net/content_connector","stats":"//apiservices.krxd.net/stats","optout":"//cdn.krxd.net/userdata/optout/status","event":"//beacon.krxd.net/event.gif","set_optout":"https://consumer.krxd.net/consumer/optout","data":"//beacon.krxd.net/data.gif","link_hb_stats":"//beacon.krxd.net/link_bidder_stats.gif","userData":"//cdn.krxd.net/userdata/get","link_hb_mas":"https://link.krxd.net/hb","config":"//cdn.krxd.net/controltag/{{ confid }}.js","social":"//beacon.krxd.net/social.gif","addSegment":"//cdn.krxd.net/userdata/add","pixel":"//beacon.krxd.net/pixel.gif","um":"https://usermatch.krxd.net/um/v2","controltag":"//cdn.krxd.net/ctjs/controltag.js.{hash}","loopback":"https://consumer.krxd.net/consumer/tmp_cookie","remove":"https://consumer.krxd.net/consumer/remove/521c3f70-f651-4a70-9ba4-18e8d8ccdd08","click":"https://apiservices.krxd.net/click_tracker/track","stats_export":"//beacon.krxd.net/controltag_stats.gif","userdataApi":"//cdn.krxd.net/userdata/v1/segments/get","cookie":"//beacon.krxd.net/cookie2json","proxy":"//cdn.krxd.net/partnerjs/xdi","consent_get":"https://consumer.krxd.net/consent/get/521c3f70-f651-4a70-9ba4-18e8d8ccdd08","consent_set":"https://consumer.krxd.net/consent/set/521c3f70-f651-4a70-9ba4-18e8d8ccdd08","is_optout":"https://beacon.krxd.net/optout_check","impression":"//beacon.krxd.net/ad_impression.gif","transaction":"//beacon.krxd.net/transaction.gif","log":"//jslog.krxd.net/jslog.gif","portability":"https://consumer.krxd.net/consumer/portability/521c3f70-f651-4a70-9ba4-18e8d8ccdd08","set_optin":"https://consumer.krxd.net/consumer/optin","usermatch":"//beacon.krxd.net/usermatch.gif"},"experiments":[],"site":{"name":"MLM","cap":255,"id":1679829,"organization_id":4799,"uid":"ujhn4ziwa"},"tags":[{"id":42492,"name":"dataLayer DTC whitelist - ML SRL","content":"<script>\n(function() {\n /* Selective Attribute DataLayer Library Tag */\n var _, allAttr, allowedList, attr, attributes, dataLayerIngester, dataObj,\n isAllowed, keepCase, libUtil, omitKeys, pageAttr, prefix, toSet, trim,\n userAttr, util, value,\n hasProp = {}.hasOwnProperty;\n _ = Krux('require:underscore');\n util = Krux('require:util');\n libUtil = Krux('require:util.library-tag');\n dataLayerIngester = Krux('require:scrape').ingestDataLayer;\n\n /* Safe copy of dataLayer object */\n dataObj = Krux('scrape.javascript', 'dataLayer');\n\n /* String trimming helper function */\n trim = function(attr) {\n return (\"\" + attr).replace(/^\\s+|\\s+$/g, '');\n };\n\n /* Attribute configs */\n pageAttr = _.map('itemId,sellerId,categoryId,CategoryL1,CategoryL2,CategoryL3,CategoryL4,officialStore,SellerMercadoLider,ReputationLevel,CategoryDomain'.split(','), trim);\n userAttr = _.map('undefined'.split(','), trim);\n\n /* Create a array of attributes striping any empty strings */\n allAttr = _.without(pageAttr.concat(userAttr), '');\n\n /* Configuration settings */\n keepCase = 'undefined' === 'true';\n omitKeys = 'undefined'.split(',');\n\n /* Resolve Prefix */\n prefix = libUtil.resolvePrefix('undefined', 'undefined',\n 'undefined');\n\n /* Function to varify if attribute should be used */\n isAllowed = function(value, whitelist) {\n var i, len, str, x;\n str = \"\" + value;\n if (!((value != null) && str.length > 0)) {\n return false;\n }\n for (i = 0, len = whitelist.length; i < len; i++) {\n x = whitelist[i];\n if (value.match(x) != null) {\n return true;\n }\n }\n return false;\n };\n\n /* Get a full list of attributes usting the dataLayer tool */\n attributes = dataLayerIngester(dataObj, {\n omitKeys: libUtil.removeFalsyStrings(omitKeys.concat(libUtil.EXCLUDE_KEYS_CONFIG)),\n omitValues: libUtil.EXCLUDE_VALUES_CONFIG,\n caseSensitive: keepCase,\n useFullPath: 'undefined' === 'true',\n useLastValue: 'false' === 'true',\n customDelimited: [/./],\n altDelimiter: ',',\n userKeys: _.map(userAttr, function(exp) {\n return new RegExp(\"(^|\\\\.)\" + exp + \"$\");\n }),\n optimizeNames: true\n });\n\n /* Only set Attributes in the allowed list */\n allowedList = _.map(allAttr, function(name) {\n return new RegExp(\"(_attr_|_attr_\" + prefix + \"|\\\\.)\" + (keepCase ?\n name : libUtil.normalizeAttrName(name, {\n removeDot: false\n })) + \"$\");\n });\n toSet = {};\n for (attr in attributes) {\n if (!hasProp.call(attributes, attr)) continue;\n value = attributes[attr];\n if (isAllowed(attr, allowedList)) {\n toSet[attr] = value;\n }\n }\n toSet = Krux('prefix:attr', toSet, prefix);\n Krux('set', toSet);\n}).call();\n</script>","target":null,"target_action":"append","timing":"onload","method":"document","priority":null,"template_replacement":true,"internal":true,"criteria":[],"collects_data":true}],"usermatch_tags":[{"id":71,"name":"AppNexus Connect","content":"<script>\r\n(function(){\r\n var kuid = Krux('get', 'user');\r\n if (kuid) {\r\n var prefix = location.protocol == 'https:' ? \"https:\" : \"http:\";\r\n var kurl = prefix + '//beacon.krxd.net/usermatch.gif?adnxs_uid=$UID';\r\n var appnexus_url = '//ib.adnxs.com/getuid?' + kurl\r\n var i = new Image();\r\n i.src = appnexus_url;\r\n }\r\n})();\r\n</script>","target":null,"target_action":"append","timing":"onload","method":"document","priority":1,"template_replacement":false,"internal":true,"criteria":[],"collects_data":true}],"link":{"adslots":{},"bidders":{}}};
for (var i = 0, tags = config.tags, len = tags.length, tag; (tag = tags[i]); ++i) {
if (String(tag.id) in cs) {
tag.content = cs[tag.id];
}
}
var esiGeo = String(function(){/*
<esi:include src="/geoip_esi"/>
*/}).replace(/^.*\/\*[^{]+|[^}]+\*\/.*$/g, '');
if (esiGeo) {
log('Got a request for:', esiGeo, 'adding geo to config.');
try {
config.geo = w.JSON.parse(esiGeo);
} catch (__) {
log('Unable to parse geo from:', config.geo);
config.geo = {};
}
}
var proxy = (window.Krux && window.Krux.q && window.Krux.q[0] && window.Krux.q[0][0] === 'proxy');
if (!proxy || true) {
load('//cdn.krxd.net/ctjs/controltag.js.cee73ba6ab74e5caa8092ae34993bbaa', function() {
log('Loaded stable controltag resource');
Krux('config', config);
});
}
})(window, (function() {
var obj = {};
return obj;
})());