">

,需要通过父级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]

БАЙЛАНЫСКА ШЫҒЫҢЫЗ

Қалың тұлға үшін сауық

"Қалың қырын сұшықпен тірімейтін"

Қалың сауық үшін сауық суғушысы таныту

Қазіргі уақытта сіздің қалпыңыз қалай қалыпсız болып жатады ма? Душтан кейін сіз оны сұғыртауға мүшілік тапсырмайсыз ба, соңында қарым-қатынас немесе физиктерге әкеледі? Жауабы бар сіздер – біздің Yiwu Kemei  қалың тұлға үшін сауық перфекттік емес пайдасымен берілген шамамен қалып типіне сыйлық. Біздің сұғырғыш қалып неге жақсы таңдау ретінде жұмыс істейтінін анықтау үшін оқыңыз.


Why choose Yiwu Kemei Қалың тұлға үшін сауық?

Теңсіз өнім категориялары

Издегеніңізбі таба алмады ма?
Көп мүмкін болатын продукtlар туралы бізгі консультанттармен байланысыңыз.

Құпия сөзді қазір сұрау