PageSourceSearch

https://www.nivea.co.jp/dist/NiveaX/modules/BasicTracking.6834508d.js

js nivea.co.jp collected 2026-10-02 16:33:07 UTC 5,870 bytes, 2 lines download raw bytes

1"use strict";(self.NiveaXwebpackJsonp=self.NiveaXwebpackJsonp||[]).push([[9740],{36672:(t,e,n)=>{n.r(e),n.d(e,{default:()=>a});var i=n(23076),o=n(98684),r=n(21464);class a{constructor(t={}){this.options=Object.assign(this.getDefaultOptions(),t),document.addEventListener("NiveaBasicTracking:reInitHandlers",()=>{this.init()}),this.init()}init(){(0,r.Nf)()||Array.from(document.querySelectorAll(`${this.options.trackingSelector}`)).filter(t=>!t.dataset.trackingInitialized).forEach(t=>{let e=t.getAttribute(`${this.options.itemTDataSelector}`),n=this.escapeSingleQuote(e),i=this.getJsonObject(n);if(!e||!i.length)return void(t.dataset.trackingInitialized="true");const r=i.filter(t=>"Show"==t.Ttrigger),a=i.filter(t=>"Click"==t.Ttrigger&&t.hasOwnProperty("Thint")),s=i.filter(t=>"Click"==t.Ttrigger&&!t.hasOwnProperty("Thint")),l=i.filter(t=>"FormSubmitted"==t.Ttrigger);a.length&&a.forEach(e=>{const n=e.Thint;t.querySelector(n)&&(t.querySelector(n).addEventListener("click",t=>this.clickHandler(t,e.Rule)),t.dataset.trackingInitialized="true"),console.warn(`Selector ${n} not found`,e.Rule)}),s.length&&(t.addEventListener("click",t=>this.clickHandler(t)),t.dataset.trackingInitialized="true"),r.length&&(0,o.PC)(t).then(()=>{t.dataset.trackingInitialized||(this.pushEventLayer(r),t.dataset.trackingInitialized="true")}),l.length&&(this.pushEventLayer(l),t.dataset.trackingInitialized="true")})}clickHandler(t,e){const n=t.target;if(n.closest(".nx-add-to-cart-teaser-wrapper"))return;let r=this.getItemTrackingData(n);e&&(r=r.filter(t=>t.Rule==e)),r?r.forEach((e,r)=>{var a,s;let l=null===(a=e.Tevent)||void 0===a?void 0:a.eventAction,c=e.Rule.includes("UA"),g=e.Rule.includes("GA4");if(!("Show"==e.Ttrigger)){if(c)if(this.getEventFromFieldOrStorage(l)){const t=this.splitString(l),n=t[1],i=this.getCheckedInput(n),o=window.localStorage.getItem(t[2]);n&&i&&window.localStorage.setItem(t[2],i.value),e.Tevent.eventAction=i?i.value:o}else if(this.hasItemTrackingContext(l,this.options.contextTDataText)){const t=this.getTeventFromContext(n,"UA Container Context");e.Tevent.eventAction=l.split(this.options.contextTDataText).join(t.eventAction)}else e.Tevent.eventAction=l.split("-").join("").split(this.options.contextTDataText).join("");if(g){const r=this.getParentContextFields(e.Tevent),a=this.getParentContextFields(null===(s=e.Tevent)||void 0===s?void 0:s.ecommerce),l=this.getTeventFromContext(n,"GA4 Container Context"),c=e.Tevent.parameters,g=e.Tcondition;if(Object.keys(r).length&&(Object.keys(l).filter(t=>t in r).forEach(t=>r[t]=l[t]),e.Tevent=Object.assign(Object.assign({},e.Tevent),r)),Object.keys(a).length&&(Object.keys(a).filter(t=>t in l.ecommerce).forEach(t=>a[t]=l.ecommerce[t]),Object.keys(e.Tevent.ecommerce).filter(t=>t in a).forEach((t,n)=>{e.Tevent.ecommerce[t]=a[t]})),c&&Object.keys(c)){const e=Object.keys(c).find(t=>c[t].includes(this.options.getAttributeValueFromDom)),i=Object.keys(c).find(t=>c[t].includes(this.options.contextTDataText));if((null==c?void 0:c.navigation)==this.options.navigation&&(c.navigation=this.getEventType(t)),(null==c?void 0:c.photo_size)==this.options.photo_size&&(c.photo_size=this.getImageSize(t)),e&&(c[e]=this.getAttrValFromDom(c[e])),i){const t=this.getTeventFromContext(n,"GA4 Container Context");c[i]=t[i]}}if(g&&g.includes("!")){let t=g.split("!")[1];return void(!(0,o.uN)(n,t)&&(0,i.VE)(e.Tevent)&&console.log("tracking on Expanded"))}if(g&&!g.includes("!")){return void((0,o.uN)(n,g)&&(0,i.VE)(e.Tevent)&&console.log("tracking on Collapse"))}}console.log("eventAction push",e.Tevent),(0,i.VE)(e.Tevent)}}):console.warn(`Item ${n} has no tracking data`,r)}hasItemTrackingContext(t,e){return!!t&&t.includes(e)}getParentContextFields(t){if(null==t)return{};const e=Object.fromEntries(Object.entries(t).filter(([t,e])=>e===this.options.contextTDataText));return Object.keys(e).length?e:{}}splitString(t){return t.replace(/[\[\]']+/g,"").split("|")}getItemTrackingData(t){const e=t.closest(`[${this.options.itemTDataSelector}]`),n=e?e.getAttribute(`${this.options.itemTDataSelector}`):null;let i=null;return e&&(i=this.getJsonObject(n)),i}getTeventFromContext(t,e){const n=t.closest(`[${this.options.contextTDataSelector}]`),i=n?n.getAttribute(`${this.options.contextTDataSelector}`):null;let o;if(n&&i){o=this.getJsonObject(i).find(t=>t.Rule===e)}return o?o.Tevent:null}getEventFromFieldOrStorage(t){return void 0!==t&&t.includes(this.options.fieldOrStorageText)}getCheckedInput(t){return document.querySelector(`input[name='${t}']:checked`)}getJsonObject(t){return(0,r.pt)(this.escapeSingleQuote(t))?(0,r.pt)(this.escapeSingleQuote(t)):[]}escapeSingleQuote(t){return t.replace(/'/g,"'")}pushEventLayer(t){t.forEach((t,e)=>{var n;let o=null===(n=t.Tevent)||void 0===n?void 0:n.eventAction;if(this.getEventFromFieldOrStorage(o)){const e=this.splitString(o),n=window.localStorage.getItem(e[2]);t.Tevent.eventAction=n||null}(0,i.VE)(t.Tevent)})}getEventType(t){return t.type}
1getImageSize(t){return t.target.closest(".nx-layer")?"enlarged":"standard"}getAttrValFromDom(t){var e;const n=t.includes("|")?t.split("|")[1]:"",i=null===(e=null==n?void 0:n.replace(/[\[\]{}]/g,""))||void 0===e?void 0:e.split("?"),o=i.length>0?i[0]:null,r=i.length>1?i[1]:null,a=o&&document.querySelector(o),s=a&&a.getAttribute(r);return!o&&console.warn("selector not found for data attribute",r),!s&&console.warn("valueFromDom not found into selector"),s}getDefaultOptions(){return{trackingSelector:"[data-tdata]",itemTDataSelector:"data-tdata",contextTDataSelector:"data-tcontext",contextTDataText:"[[GetActionFromParentContext]]",fieldOrStorageText:"GetFromFieldOrStorage",photo_size:"[[GalleryAndSliderIneraction|{{media_size}}]]",navigation:"[[GalleryAndSliderIneraction|{{event_type}}]]",getAttributeValueFromDom:"GetAttributeValueFromDom"}}}}}]);
2//# sourceMappingURL=/dist/NiveaX/./modules/BasicTracking.6834508d.js.0d5e6105.map

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.