...">
,需要通过父级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);
}
});
})();
Sostituzzjoni ta' bindella tal-ħadid iswed ta' kwalità superjuri feren għal rota ta' 18” huwa s-soluzzjoni ideali effiċjenti fil-kosta biex tissostitwixxi l-fernejn tal-fabbrika tal-ħadid. Dawn il-fernejn mhumiex biss faċli biex tinħarsu lilhom, iktar hekk huma mbunin biex jistgħu jżuru, li jfisser li inti tagħmel investiment ħakmi bħala proprietarju ta’ karozza. Irġiel tkun qed tfittex biex tżid xi stil għall-karozza tiegħek jew sempliċement tixtieq tikkis il-prestazzjoni tal-karozza tiegħek fuq ir-road, il-fernejn tal-ħadid iswed huma adattabbli u jistgħu jipruvu prattiċi għall-biżgħat tiegħek. Meta tiftix għall-kerrijiet tal-ħadid iswed li jibqgħu ruħhom għall-karozzi tiegħek ta' 18 pulzier, il-kwalità għandha tkun ewliena. Biex ikollok karozza tal-ħadid b’prestazzjoni għolja u b’prezz ragonevoli, iktar YAOLILAI . Dawn huma kerrijiet elitari magħmulin minn materjali ta' kwalità għolja kapaci li jwettqu s-sollecitazzjonijiet tat-triq kull jour. Iktar minn hekk, il-kerrijiet tal-ħadid iswed fuq YAOLILAI jipprovdu l-prestazzjoni li titlob fuq it-triq, sabiħ tista' tġib kull korner u kurva mingħajr preokkupazzjoni. Kerrijiet ta' 18 pulzier YAOLILAI anti-impatt u durabbli għal beghġa, kerrijiet tal-ħadid iswed ta' kwalità għolja. B’karozzi tiegħek li jidher kuluri u sexy, tista’ tissibu ħobżek fil-karozza tiegħek! Il-gomma hija waħda u biss! Jekk qed tfittex sett ta ruħan tal-ħadid iswed li jaħdmu ma’ ġenbiet ta’ 18 pulzier, ikkun fidilx meta tixtri minn YAOLILAI. YAOLILAI ikollok varjetà estensiva ta’ ruħan ta’ kwalità għolja disponibbli biex tidħol f’kull gusto u borsa. Se jkun il-xejn modernu teknoloġiku jew sempliċement aspett klassiku timeless, YAOLILAI ikollu l-ruħan tal-ħadid iswed għal ġenbiet ta’ 18 pulzier li se jikkorispondu għall-gusti tiegħek. Pluss, YAOLILAI joffri servizz ottimu għall-klijent u prodott ta’ kwalità għolja li tista’ tikkuntah meta tixtri. Imma b’YAOLILAI bħala ruħan tiegħek ta’ 18 pulzier għall-ħadid iswed, tista’ tkun fidil li qed tikseb il-valur assolutament l-aktar tajjeb u l-kwalità meta jviene għall-ixkir tal-ġenbiet tal-ħadid tiegħek online. ġirien tal-ħadid iswed għall-bejgħ għal karozzi Isem tal-prodott ġirien tal-ħadid iswed għall-bejgħ Numru tal-mudell disk brake iswed Daħħal 13 14 15 u hekk murija PCD multi hole huma disponibbli ET -25-45 Post ta' oriġini DR Congo Ċertifikat ECE,TS,CAP,SASO INMETRO MOQ:140PC Imballaġġ kartun standard Termini ta’ pagament TT / LC / PP Materjal: Alluminju Qualità alta qualità Installazzjoni għal karozza Pakkett niċċu Qualità għolja prezz baxx Għandna ddaħħal kollha b’disinn differenti. Il-ġirien tal-ħadid iswed huma tant durabbli kemm jista’ jkun għall-kamion jew SUV li joffru prestazzjoni biex idumu. Magħmulin minn materjal premjat, dawn il-ġirien huma desinjati biex idumu permezz tal-użu ta’ kull ziġura. Humma iswed luċenti biex iġibu l-karozza tinsab tajba. RIMI & AKSESSORJI Trid ikollok ir- rimi jew il-partijiet u aċċessorji korretti mhux biss biex tneħħi l-karozza tiegħek minn perikolu, imma ukoll biex tibqa' salva. Il-karozzi tagħna fl-istil tal-ħadid iswed jiksbu kummenti pożittivi għal raġun: jipprovdu affidabilità twila u stil ġlamour u forti. Mingħajr ma nindikaw, bid-prezzijiet baxxi tagħna, inti se tkunu tista' taġġorna l-karozza tiegħek b’mod ekonomiku! Rimi tal-Ħadid Iswed L-użu ta’ rimi tal-ħadid iswed biex taġġurna l-karozza tiegħek huwa mod ottimu biex tikkompjuta dawn iż-żewġ obbjetttivi komuni. U r-rimi tagħna mhux biss jidher fantastiki; imma jibżgħu aktar ruħhom fil-road kollha b’manovrabbiltà miżjuda! Ir-rimi tagħna qinjati tal-ħadid iswed se jblandjaw u jassorbwu l-impatti tal-road, jimxqu r-ride fejn kundik il-blatkot ikollok. Jekk ikollok interess li tixri all-ingross u tfittex iktar prezz a bużża għal fernejn tal-ħadid iswed, imbagħad iltaqar YAOLILAI. Għandna prezzijiet all-ingross fuq il-komplet ta’ prodotti tagħna hekk li tista’ tħażen b’pes u tibqa’ avanti tal-kurva għall-karozza, kamjun, jew motokarozza tiegħek. Meħaniki, proprietarji ta’ ofiċċini tal-karozzi u appassjonati tal-karozzi kollha jistgħu jikbru minn offerti all-ingross tagħna biex ikollhom il-fernejn li jixtiequ b’prezz li jinbidilhulhom. Aċċettu n-it-tajjeb standards ta' kwalità. Aċċettu wkoll superviżjoni attenta ta' kull stadju tal-proċess ta' produzzjoni, minn meta nibdew b'għażel tal-materja prima. Ir-ringi ta' ħaġu ħadid iswed għall-ruota ta' 18" jinħallqu għal ispeċifikazzjonijiet biex jiżdguraw il-forza, id-durabbiltà u l-miżuri preċiżi tagħhom. Għandna tim ta' R&D li huwa motivat ħafna u kreattiv li jikkontrolla b'attenzjoni r-ringi ta' ħaġu ħadid iswed għall-ruota ta' 18", il-materjali u d-disinnijiet. Nista' nirreġu b'mod ħażin lil trendijiet tas-suq u tal-industrija. Dan iżda jippermettilna li nużżlu l-aktar ringi ta' ħaġu effiċenti li jissodisfaw il-biżżez tiegħek. It-tim tagħmel ir-ringi ta' ħaġu ħadid iswed għall-ruota ta' 18" huwa ħabib, għarfien u kunsideruż. Nista' nużżlu servizz ħażin u relijuż, jekk ikun qabel il-biża' jew wara l-biża'. Nu noffru firxa ta' servizzi li jinkludu l-biżness speċifiku ta' kull kuntur. B'dak li jkun il-ħtieġi tiegħek, il-misuri tal-ħaġar iswed ta' 18 pulzier u l-espektattivi tal-prestazzjoni, inaqqdu l-ħaġar li jilqu bil-ekspektattivi individwali tiegħek.Kontattini maħfux jekk tinqablu probblemi!
rozzi tal-ħadid iswed ta' 18 pulzier
Ruħ ta' flangji tal-ħadid iswed għal għodiem ta' 18 pulzier

Il-post l-iktar xieraq biex tixtri ruħ ta' flangji tal-ħadid iswed għal għodiem ta' 18 pulzier

Ruħ ta' flangji tal-ħadid iswed ekonomiċi u durabbli għall-karozzi kollha tat-tip

Jippermettu prestazzjoni u stil iktar tajjeb tal-karozza tiegħek b’ruħ ta’ flangji tal-ħadid iswed
Why choose YAOLILAI rozzi tal-ħadid iswed ta' 18 pulzier?
Kontroll ta' qualità strikt:
Tim R&D innovattiv:
Servizz professionali għall-klijenti:
Servizz personalizzat u customizzat:
Kategoriji tal-prodotti relatati
Ma tinqasx ma tibtixu?
Riċiedi Viċin Azzjonarja Issa
Ikkontatta l-konsultanti tagħna għal prodotti disponibbli aktar.Ikkontattjana