gtmDataLayer proxy
gtmDataLayer proxy
by Csaba Hellinger
HTML
Check the console logs.
JavaScript
const dataLayer = [];
const warnAndReturn = (result) => {
console.warn('The gtmDataLayer variable is deprecated and will be removed in a future release. Please use dataLayer instead.');
return result;
};
const gtmDataLayer = new Proxy(dataLayer, {
get: (...args) => warnAndReturn(Reflect.get(...args)),
set: (...args) => warnAndReturn(Reflect.set(...args)),
});
// TEST
console.log("\ndataLayer.push('good')");
dataLayer.push('good');
console.log("\ngtmDataLayer.push('bad1')");
gtmDataLayer.push('bad1');
console.log("\ngtmDataLayer[2] = 'bad2'");
gtmDataLayer[2] = 'bad2';
console.log('\ndataLayer');
console.log(dataLayer);