">

,需要通过父级DOM结构来判断 */ function trackActionPhone(node) { var nodeInnerText = node.innerText || ''; if (!limitRegLength(nodeInnerText)) return; var nodeText = trimText(nodeInnerText); if (nodeText.length < 5 || nodeText.length > 20) return false; var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'click'; var str = trimText(node.href || node.innerHTML || ''); if (phoneReg.test(str) && numUseReg.test(str)) { _paq.push(['trackEvent', type, 'phone', nodeText]); return true; } /** 排查父级嵌套非标签场景,并且对dom的正则校验做一个性能兜底,通过控制innerText的长度,来确保正则的性能 */ var fatherText = trimText(node.parentNode.innerText || ''); if (fatherText.length < 5 || fatherText.length > 20) return false; var fatherDom = trimText(node.parentNode.innerHTML || ''); if (phoneReg.test(fatherDom) && numUseReg.test(fatherDom)) { _paq.push(['trackEvent', type, 'phone', nodeText]); return true; } return false; } window.addEventListener('click', function (e) { var node = e.target; /** 社媒点击 */ var appName = ''; var getAppAriaLabel = node.ariaLabel || node.parentNode.ariaLabel || ''; if (mediaList.includes(getAppAriaLabel.toLowerCase())) { appName = getAppAriaLabel; } if (!appName && node.nodeName && node.nodeName.toLowerCase() === 'a') { appName = getMediaName(node.href) || getMediaName(node.alt); } if (!appName && node.nodeName && node.nodeName.toLowerCase() === 'img') { appName = getMediaName(node.alt) || getMediaName(node.src); } if (!appName && node.nodeName && node.nodeName.toLowerCase() === 'i') { appName = getMediaName(node.className); } if (appName) { _paq.push(['trackEvent', 'click', 'contactApp', appName]); return; } /** 联系方式点击 */ if (trackActionPhone(node, 'click')) return; if (node.nodeName && node.nodeName.toLowerCase() === 'a') { var val = node.href; if (!limitRegLength(val)) return; if (emailReg.test(val)) { _paq.push(['trackEvent', 'click', 'email', val]); return; } } if (node.nodeName && node.nodeName.toLowerCase() === 'i') { var val = node.className; var content = node.parentNode.href || ''; if (val.includes('email')) { _paq.push(['trackEvent', 'click', 'email', content]); return; } } var nodeChildList = node.childNodes; for (var i = 0; i < nodeChildList.length; i++) { (function (i) { if (nodeChildList[i].nodeType !== 3) return; var val = nodeChildList[i].textContent.replace(/\s?:?/g, ''); if (!limitRegLength(val)) return; if (emailReg.test(val)) { _paq.push(['trackEvent', 'click', 'email', val]); return; } })(i); } trackNumberData(node); }); window.addEventListener('copy', function (e) { if (trackActionPhone(e.target, 'copy')) return; var text = e.target.textContent; if (!text) return; var val = text.replace(/\s:?/g, ''); if (!limitRegLength(val)) return; if (emailReg.test(val)) { _paq.push(['trackEvent', 'copy', 'email', val]); return; } trackNumberData(e.target); }); } trackContactInit(); /** * 基于custom_inquiry_form.js 以及 form.js 对于询盘表单提交的实现,来反推询盘表单的input标签触发,用来收集意向客户 * 1. 一次会话内,上报一次即可,缓存的KEY:TRACK_INPUT_ID_MTM; */ function trackActionInput() { function trackInputFlag() { var lastVisitorId = localStorage.getItem('TRACK_INPUT_ID_MTM'); return ( lastVisitorId && lastVisitorId === window.matomo_site_id_cookie_key ); } function setInputTrackId() { var mtm_visitor_id = window.matomo_site_id_cookie_key || ''; localStorage.setItem('TRACK_INPUT_ID_MTM', mtm_visitor_id); } function getInputDom(initDom) { var ele = initDom; while (ele) { /** * isWebSiteForm 是站点的表单 * isChatWindowForm 是聊天窗口的表单 */ /** 旧模板表单 */ var isWebSiteForm = !!( /crm-form/i.test(ele.className) && ele.querySelector('form') ); /** 1:新模板自定义表单、2:Get a Quote 弹框表单 */ var isWebSiteFormNew = !!( /inquiry/i.test(ele.className) && ele.querySelector('form') ); if (isWebSiteForm || isWebSiteFormNew) { _paq.push(['trackEvent', 'formInquiry', 'formInput', 'page']); setInputTrackId(); break; } /** Mkt会话触达-聊天弹框的表单输入: MKT由于是iframe嵌入,所以MKT的上报,会单独写到MKT-form代码上 */ var isInquiryChatForm = !!( /comp-form/i.test(ele.className) && ele.querySelector('form') ); if (isInquiryChatForm) { _paq.push(['trackEvent', 'formInquiry', 'formInput', 'chat']); setInputTrackId(); break; } /** 向上查找父节点 */ ele = ele.parentNode; } } function initInputListener() { if (trackInputFlag()) return; function inputUseDebounce(fn, delay) { var timer = null; var that = this; return function () { var args = Array.prototype.slice.call(arguments); if (timer) clearTimeout(timer); timer = setTimeout(function () { fn.apply(that, args); }, delay); }; } var optimizeGetInputDom = inputUseDebounce(getInputDom, 300); window.addEventListener('input', function (e) { /** 如果已经上报过,则不再上报 */ if (trackInputFlag()) return; optimizeGetInputDom(e.target); }); } try { initInputListener(); } catch (error) { console.log('initInputListener Error', error); } } trackActionInput(); })();

[email protected]

KAPUASAN KOMUNIKASI

Alat pengeriting rambut terbaik anu teu akang ngeusik rambut

Cari setrika rambut Yiwu Kemei terbaik yang gak bakal rusakkin rambut? Gausah cari lagi. Kami udah riset dan coba macem-macem setrika rambut buat kasih kamu pilihan terbaik - "Gentle Curls" setrika rambut.


Ciri-ciri alat perek bening nu teu akanggo rusakkeun rambut

Alat perekat rambut terbaik yang nggak akan rusakkeun rambut. Yiwu Kemei tangkal kaleng tilu  ngeunaan bakal ngagunakeun tèknologi inovatif anu ngahangatkeun rambut tina dalem ka luar, sapertoséna teu nyampur kuring ngablast rambut anu katampak sareng panas. Ieu hartina leuwih sedikit cedera kana rambut anjeun, jeung anu leuwih terdefinisi, gulungan anu ilang-ilengeun. Ngandung barel keramik anu meratakeun panas, nyaeta anjeun henteu akanyya ngabogaan tempat panas anu bisa ngajadikeun cedera.

Why choose Yiwu Kemei Alat pengeriting rambut terbaik anu teu akang ngeusik rambut?

Kategori produk terkait

Cara ngarantekeun:

Sebelum nggunaan Yiwu Kemei Terbaik lan panyetelan rambut anu paling gampang nu teu geus merusakkeun rambut pastikeun rambut anjeun bebas, kering, lan lepas tina sababaraha layanan lan produk anu aya. Mulana ku nggunaan semprotan pelindung panas kanggo melindungi rambut anjeun leuwih jauh tina rusak. Bagi rambut jadi bagian-bagian saprasteg arany ka rapatna rambut anu aya di kepala anjeun. Rambut anu teu teu geus mbutuhkeun bagian nu leuwih cilik supados panas bisa ngalir merata.


Layanan:

Kamu bakal percaya sama tim layanan pelanggan mereka buat ngasih bantuan kelas atas kalau ada yang pernah nemu masalah sama Yiwu Kemei kamu. panyetrika rambut terbaik yang gak bakal rusakkin rambut. Mereka nyediain jaminan satu tahun buat produk atau layanan mereka, biar bisa tidur tenang tahu bahwa kamu dilindungi.


Kualitas:

Setrika rambut terbaik yang gak bakal rusakkin rambut dengan bahan berkualitas tinggi yang njaminin itu bakal tahan lama. Tong setrika dari keramik yang tahan lama dan teknologi sensor suhu dibuat buat hasil akhir. Plus, pake Yiwu Kemei panyetrika rambut nu paling direkomendasikeun desain inovatif, bisa dipercaya buat bikin rambut keliatan bagus tanpa merusaknya secara berkelanjutan.

Tidak menemukan apa yang Anda cari?
Kontak konsultan kami untuk produk tersedia lainnya.

Mintalah Penawaran Sekarang