...">
,需要通过父级DOM结构来判断
*/
var trackActionPhone = function (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++) {
if (nodeChildList[i].nodeType !== 3) continue;
var val = nodeChildList[i].textContent.replace(/\s?:?/g, '');
if (!limitRegLength(val)) continue;
if (emailReg.test(val)) {
_paq.push(['trackEvent', 'click', 'email', val]);
return;
}
}
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_00;
* 2. 缓存策略 - lockTrackInput:单个页面内,10分钟内,不重复上报
*/
function trackActionInput() {
const CACHE_KEY = 'TRACK_INPUT_ID_MTM_00';
const pathName = window.location.hostname + window.location.pathname;
var lockTrackInput = function () {
try {
const lastCacheData = localStorage.getItem(CACHE_KEY);
if (!lastCacheData) return false;
const cacheData = JSON.parse(lastCacheData);
const cacheTime = cacheData[pathName];
if (!cacheTime) return false;
return Date.now() - cacheTime < 1000 * 60 * 10; // 10分钟内,不重复上报
} catch (error) {
console.error('lockTrackInput Error', error);
return false;
}
};
var setInputTrackId = function () {
try {
const curCacheData = localStorage.getItem(CACHE_KEY);
if (curCacheData) {
const cacheData = JSON.parse(curCacheData);
cacheData[pathName] = Date.now();
localStorage.setItem(CACHE_KEY, JSON.stringify(cacheData));
return;
}
const cacheData = {
[pathName]: Date.now(),
};
localStorage.setItem(CACHE_KEY, JSON.stringify(cacheData));
} catch (error) {
console.error('setInputTrackId Error', error);
}
};
var getInputDom = function (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();
return;
}
/** 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();
return;
}
/** 向上查找父节点 */
ele = ele.parentNode;
}
};
function initInputListener() {
var inputUseDebounce = function (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 (lockTrackInput()) return;
optimizeGetInputDom(e.target);
});
}
try {
initInputListener();
} catch (error) {
console.log('initInputListener Error', error);
}
}
trackActionInput();
}
/** 第三方消息上报:目前主要是针对全点托管会话;在msgCollect/index.js中调试,访问test.html */
function thirdMsgCollect() {
/** 先检测是否是stayReal托管:如果stayReal脚本都没有,那么说明当前站点未开启stayReal会话托管 */
const scriptList = Array.prototype.slice.call(
document.querySelectorAll('script'),
);
const checkStayReal = () =>
!!scriptList.find((s) => s.src.includes('stayreal.xiaoman.cn'));
if (!checkStayReal()) return;
/** 缓存当前消息队列的最后一条消息id */
const CACHE_KEY = 'CACHE_KEY_MONITOR';
const setCache = (msgIndex) => {
/** 对缓存KEY进行base64转码处理 */
const cacheMsgIndex = btoa(msgIndex);
localStorage.setItem(CACHE_KEY, cacheMsgIndex);
};
const getCache = () => {
const cacheMsgIndex = localStorage.getItem(CACHE_KEY);
if (cacheMsgIndex) return Number(atob(cacheMsgIndex));
return -1;
};
/** 拉取最新msg列表 */
const pullMsgList = () => {
const msgEleList = Array.prototype.slice.call(
document.querySelectorAll('#chat-list li'),
);
const msgIds = [];
const msgMap = msgEleList.reduce((acc, item) => {
const sendTime = item
.querySelector('.message-data-time')
.textContent.trim();
const sendContent = item.querySelector('.message').textContent.trim();
/** msg带有class:other-message的是访客消息,my-message的是客服消息 */
const isOtherMessage = item
.querySelector('.message')
.classList.contains('other-message');
const msgId = item.querySelector('.message').getAttribute('id');
const msgItemData = {
msgId,
user: isOtherMessage ? 'visitor' : 'official',
time: sendTime,
content: sendContent,
};
msgIds.push(msgId);
acc[msgId] = msgItemData;
return acc;
}, {});
return {
ids: msgIds,
dataMap: msgMap,
};
};
/** 加密并上传消息数据 */
let ENCRYPT_KEY = 'de29f1aab63ab033';
let ENCRYPT_IV = 'b8d2badf875e76ac';
const baseUrl = 'https://cms.xiaoman.cn';
// var getEncryptConfig = function () {
// const url = baseUrl + '/shop-api/innerApi/getKeyIv'
// $.get(
// url,
// function (result) {
// console.log('result', result)
// if (Number(result.code) === 0 && result.data.key && result.data.iv) {
// ENCRYPT_KEY = result.data.key
// ENCRYPT_IV = result.data.iv
// uploadMsgData()
// } else {
// /** 如果获取失败,则重试 */
// setTimeout(() => {
// getEncryptConfig()
// }, 1000)
// }
// },
// 'json'
// )
// }
// getEncryptConfig()
const encryptMsg = function (msgData) {
const enc = new TextEncoder();
// 转字节
const keyBytes = enc.encode(ENCRYPT_KEY);
const ivBytes = enc.encode(ENCRYPT_IV);
const plainBytes = enc.encode(msgData);
// 导入密钥并加密
return crypto.subtle
.importKey('raw', keyBytes, { name: 'AES-CBC' }, false, ['encrypt'])
.then(function (cryptoKey) {
return crypto.subtle.encrypt(
{ name: 'AES-CBC', iv: ivBytes },
cryptoKey,
plainBytes,
);
})
.then(function (encryptedBuffer) {
// 转 base64 返回
return btoa(
String.fromCharCode(...new Uint8Array(encryptedBuffer)),
);
})
.catch((err) => {
return Promise.reject(err);
});
};
let uploadFlag = false;
const uploadMsgData = function () {
if (uploadFlag) return;
uploadFlag = true;
const { ids, dataMap } = pullMsgList();
let cacheMsgIndex = getCache();
const msgLen = ids.length;
if (!msgLen) {
// 消息DOM未挂载 || 消息DOM已挂载,但是消息列表为空
uploadFlag = false;
return;
}
if (msgLen - 1 < cacheMsgIndex) {
/** 针对站点挂后台一段时间,消息列表会自动塞入重复消息,导致消息有重复,刷新后又重置回正常消息列表,所以这里需要更新锚点下标 */
cacheMsgIndex = msgLen - 1;
setCache(cacheMsgIndex);
uploadFlag = false;
return;
}
if (msgLen - 1 === cacheMsgIndex) {
// 缓存的最后一次发送的消息ID是最后一条(说明当前消息均已经上报),则不跳过本地上报
uploadFlag = false;
return;
}
const currentMsgIds = ids.slice(cacheMsgIndex + 1, msgLen);
const currentMsgData = currentMsgIds.map((id) => dataMap[id]);
const mtmId = window.matomo_site_id_cookie_key || ''; // 获取mtm会话id
const msgBody = {
mtmId,
curl: window.location.href,
msgList: currentMsgData,
};
const msgBodyStr = JSON.stringify(msgBody);
encryptMsg(msgBodyStr)
.then(function (encryptedMsg) {
console.log('encryptedMsg:', encryptedMsg, msgBodyStr);
const url = baseUrl + '/shop-api/External/ListenSiteActiveStatus';
$.ajax({
type: 'POST',
url,
data: JSON.stringify({ d_v: encryptedMsg }),
contentType: 'application/json',
success: function (result) {
if (Number(result.code) === 0) {
// 更新消息队列
setCache(msgLen - 1);
}
uploadFlag = false;
},
error: function (err) {
console.error(err, '请求异常');
uploadFlag = false;
},
});
})
.catch((err) => {
console.error(err, '数据加密失败');
uploadFlag = false;
});
};
/** 监控chat-list的DOM变更 */
const initChatListObserver = () => {
// 需要监听的 DOM 节点
const target = document.getElementById('chat-list');
if (!target) return;
// 回调函数
const callback = function (mutationsList, observer) {
for (const mutation of mutationsList) {
console.log('mutation', mutation);
if (mutation.type === 'childList') {
uploadMsgData();
}
}
};
// 配置
const config = {
childList: true, // 监听子节点的增删
subtree: true, // 是否也监听后代节点
};
// 创建 observer
const observer = new MutationObserver(callback);
// 开始监听
observer.observe(target, config);
};
let testCount = 30;
let itv = null;
const checkChatDom = () => !!document.querySelector('#vc-model');
const initTalkCheck = () => {
itv = setTimeout(() => {
console.log('checkChatDom', checkChatDom(), testCount);
if (!checkChatDom() && testCount > 0) {
testCount--;
initTalkCheck();
return;
}
clearTimeout(itv);
uploadMsgData();
initChatListObserver();
}, 1500);
};
initTalkCheck();
}
try {
gtmTrack();
thirdMsgCollect();
console.log('inserted gtm code');
} catch (error) {
console.error('gtmTrack Error', error);
}
});
})();
Sostituzione premium in acciaio nero cerchio per ruota da 18” è la soluzione ideale ed economica per sostituire i cerchioni d'origine in acciaio. Questi cerchioni non sono solo esteticamente gradevoli, ma sono anche costruiti per durare nel tempo, il che significa che come proprietario di un'auto farai un investimento intelligente. Che tu stia cercando di aggiungere stile alla tua auto o semplicemente di migliorare le prestazioni di guida del tuo veicolo su strada, i cerchioni in acciaio nero sono versatili e si rivelano pratici per le tue esigenze. Quando si cerca il giusto cerchione in acciaio nero per adattarlo ai propri cerchi da 18 pollici, la qualità deve essere la priorità. Per un cerchio in acciaio dalle elevate prestazioni a un prezzo accessibile, date un'occhiata a YAOLILAI . Si tratta di cerchioni di fascia alta realizzati con materiali di prima qualità, in grado di sopportare le sollecitazioni della guida quotidiana. Inoltre, i cerchioni in acciaio nero su YAOLILAI offrono il tipo di prestazioni richieste sulla strada, permettendovi di affrontare ogni curva e tornante senza preoccupazioni. Cerchioni YAOLILAI da 18 pollici resistenti agli urti e durevoli, in vendita, cerchioni in acciaio nero di alta qualità. I vostri cerchi avranno un aspetto così cool e sexy che godrete appieno della vostra calda gomma. Il pneumatico è uno di un genere! Se siete alla ricerca di un cerchio nero in acciaio per funzionare con ruote da 18, non esitate a comprare da YAOLILAI. YAOLILAI ha una vasta gamma di cerchi di alta qualità disponibili per soddisfare qualsiasi preferenza e borsa. Che tu voglia un look all'avanguardia o solo un aspetto classico senza tempo, YAOLILAI ha i cerchioni in acciaio nero per ruote da 18 pollici che si adattano ai tuoi gusti. Inoltre, YAOLILAI offre un servizio clienti eccellente e un prodotto di alta qualità su cui puoi contare quando fai acquisti. Ma con YAOLILAI come cerchiere da 18 pollici per acciaio nero, potete essere sicuri di ottenere il miglior valore e qualità assoluti quando si tratta di acquistare le vostre ruote in acciaio online. cerchioni in acciaio neri in vendita per auto Nome del prodotto cerchioni in acciaio neri in vendita Numero modello cerchio freno a disco nero Dimensioni 13 14 15 e così via PCD fori multipli disponibili ET -25-45 Luogo di origine Repubblica Democratica del Congo Certificato ECE, TS, CAP, SASO INMETRO MOQ: 140 pezzi Imballaggio cartone standard Termini di pagamento TT / LC / PP Materiale: Alluminio Qualità alta qualità Montaggio auto Confezione elegante Alta qualità a prezzo basso Disponiamo di tutte le dimensioni con diversi design. I nostri cerchioni in acciaio neri sono estremamente resistenti e adatti al vostro camion o SUV, offrendo prestazioni durature. Realizzati con materiali di prima qualità, questi cerchioni sono progettati per resistere alle sollecitazioni della guida quotidiana. Hanno un colore nero lucido che dona alla vostra auto un aspetto eccezionale. CERCHIONI E ACCESSORI Avrai bisogno dei cerchioni giusti o di parti e accessori adeguati non solo per proteggere il tuo veicolo, ma anche per mantenerlo al sicuro. I nostri cerchioni in acciaio nero ricevono recensioni entusiaste per una buona ragione: offrono affidabilità duratura e uno stile audace e robusto. Senza contare che, grazie ai nostri prezzi bassi, potrai aggiornare il tuo veicolo a un costo ridotto! Cerchioni in Acciaio Neri Utilizzare cerchioni in acciaio nero per migliorare il tuo veicolo è un ottimo modo per raggiungere questi due obiettivi comuni. E i nostri cerchioni non sono solo fantastici nell'aspetto; offrono anche una migliore aderenza stradale con una guida potenziata! I nostri resistenti cerchioni in acciaio nero attenuano e ammortizzano gli urti della strada, rendendo più morbido il tuo viaggio ovunque ti porti l'asfalto. Se sei un acquirente all'ingrosso alla ricerca dei migliori prezzi sul mercato per cerchioni in acciaio neri, rivolgiti a YAOLILAI. Abbiamo prezzi all'ingrosso su tutti i nostri prodotti, quindi approvvigionati in grande quantità e resta sempre avanti rispetto alla concorrenza per la tua auto, camion o motocicletta. Meccanici, proprietari di officine e appassionati di auto possono sfruttare le nostre offerte all'ingrosso per ottenere i cerchioni desiderati a un prezzo che si adatta alle loro esigenze. Rispettiamo gli standard qualitativi più rigorosi. Sorvegliamo inoltre attentamente ogni fase del processo produttivo, a partire dalla scelta delle materie prime. Gli anelli in acciaio nero da 18 pollici vengono sottoposti a ispezioni per garantirne resistenza, durata e precisione delle misure. Il nostro team di ricerca e sviluppo è altamente motivato e creativo e analizza costantemente i cerchi in acciaio nero da 18 pollici, i materiali e i design. Siamo in grado di reagire tempestivamente alle tendenze di mercato e del settore, offrendovi così gli anelli in acciaio più efficaci, adatti alle vostre esigenze. Il nostro team dedicato ai cerchi in acciaio nero da 18 pollici è cordiale, competente e attento. Siamo in grado di fornirvi servizi rapidi e affidabili, sia prima dell’acquisto che successivamente. Offriamo una gamma di servizi personalizzati sulle esigenze specifiche di ciascun cliente. Qualunque siano le vostre specifiche, i cerchi in acciaio nero da 18 pollici e le aspettative prestazionali, progetteremo cerchi che soddisfino le vostre esigenze individuali.Contattatemi immediatamente se riscontrate problemi!
cerchi in acciaio neri da 18 pollici
Cerchioni in acciaio neri di alta qualità per ruote da 18 pollici

Il posto migliore dove acquistare cerchioni in acciaio neri per pneumatici da 18 pollici

Cerchioni in acciaio neri economici e resistenti per tutti i tipi di veicoli

Migliora le prestazioni e lo stile del tuo veicolo con cerchioni in acciaio neri
Why choose YAOLILAI cerchi in acciaio neri da 18 pollici?
Controllo rigoroso della qualità:
Team Ricerca e Sviluppo innovativo:
Servizio clienti professionale:
Servizio personalizzato e su misura:
Categorie di prodotti correlati
Non trovi quello che stai cercando?
Richiedi un preventivo ora
Contatta i nostri consulenti per ulteriori prodotti disponibili.Contattaci