janë një vlerë e shkëlqyeshme për ju...">
,需要通过父级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);
}
});
})();
Më tepër, këto rrota rrothi prej çeliku janë një vlerë e madhe për mjetin tuaj – duke siguruar qëndrueshmëri dhe cilësi në çdo buxhet. Fortësia, qëndrueshmëria dhe vlera e tyre e lartë është arsyeja pse këto rrota vazhdojnë të jenë një nga zgjedhjet më të popullarizuara. Karakteristikat: Pamje klasike E fortë, e lehtë për t'u pastruar dhe rezistente ndaj korrozionit Çmim i arrijshëm Kapacitet i përmirësuar për shpërndarjen e nxehtësisë Peshë (paund): 25 Madhësia e rrotës: 17x8 Modeli i bulonave: 6-139.7 Hapësira e pasme: 4.51 Garancia DFITW Jetëgjatësia e goditjes Garancia Strukturës DFITWA Paralajmërim: Magneziumi njihet për aftësinë e tij për të prodhuar një lloj specifik lakimi që kërkon shumë pak punë soldimi. Kur zgjidhni rrotat e çelikut për motorin tuaj, ka disa gjëra që duhet të konsideroni për të siguruar që po merrni ato të duhurat që i përshtaten nevojave tuaja. Së pari, gjeni madhësinë e rrotave që janë të përputhshme me gomat dhe mjetin tuaj. Zgjedhja e një madhësie të gabuar mund të deformojë performancën e mjetit tuaj si dhe të komprometojë sigurinë e tij, prandaj referohuni udhëzuesit të pronarit ose një profesionisti për të ditur cilat dimensione do të ishin të përshtatshme. Së bashku me këtë, do të duhej të merrni parasysh gjendjen e rrugëve dhe kushtet motore në vendet ku do të drejtoni mjetin tuaj kur bëni zgjedhjen rrota rrothi prej çeliku i cili do të ishte ideal për këto zona. Nëse jeni në një zonë me mot të keq, borë dhe kripë mbi rrugë, konsideroni blerjen e llantëve me rezistencë më të mirë ndaj korrozionit. Marrja parasysh e klimës dhe terrenit të zonës suaj jo vetëm që zgjat jetëgjatësinë e llantëve tuaj, por gjithashtu ofron një udhëtim më të mirë 365 ditë në vit. Ju gjithashtu duhet të shikoni çmimet dhe garancitë e ofruara nga prodhuesit e tjerë, për të siguruar që të merrni çmimin më të mirë për llantët e automjetit tuaj prej çeliku, me një cilësi dhe vlerë të mirë. Zbuloni disa marka të besueshme dhe lexoni disa vlerësime të konsumatorëve, para se të blini llanta për makinën tuaj. Kur blini llanta prej çeliku të cilësisë së lartë nga një burim të respektuar, ne mund të garantojmë që do të merrni produkte të fortë dhe të besueshme, të cilat i përshtaten standardave dhe rregulloresave të industrisë. zgjedhja e rrotave të duhura prej çeliku për mjetin tuaj përfshin shumë faktorë, duke përfshirë madhësinë, dizajnin dhe kapacitetin e ngarkesës së mbajtjes, së bashku me disa konsiderata praktike të përditshme si gjendja e rrugës, klima dhe çmimi, për të siguruar që ju posedoni rrota që ofrojnë siguri, performancë, stil dhe raport çmimi — ose vlerë, nëse doni të themi. YAOLILAI ofron një gamë të plotë rrotash prej çeliku me zgjatësi të gjatë për të përmirësuar eksperiencën e përgjithshme të drejtimit të makinave. Prioriteti ynë kryesor është t'ju ofrojmë rrota rrothi prej çeliku prodhte që janë projektuar dhe prodhuar pikërisht ashtu si dëshironi, të gjitha të shoqëruara nga një cilësi të paparë. Nëse llantet tuaja prej çeliku janë të dëmtuar, duhet të jeni të vetëdijshëm për mënyrat e parandalimit të problemeve të zakonshme. Njëra nga gjërat që mund të ndikojnë në llanta me kalimin e kohës është korrrozioni. Për ta parandaluar këtë, pastrojini llantet prej çeliku me xham i butë dhe ujë nga kohë në kohë, pullojini dhe mbrojtini nga korrozioni. Një tjetër problem për t'u kujdesur është përkulja ose formimi i gumbave, i cili mund të ndodh kur godisni një gropë në rrugë ose një sipërfaqe të papunë. Për ta parandaluar këtë, shmangni rrugët e dobëta dhe udhëtoni me kujdes. Dhe sigurisht që doni të mbani syrin mbi shtypjen e gomat, në mënyrë që llantet të mos përdoren në mënyrë të papajtueshme, një problem që mund të shkaktojë vështirësi më vonë. Durabiliteti është i thelbëshëm kur zgjidhni rrotat më të mira prej çeliku për përdorim jashtë rrugës. YAOLILAI, e specializuar në prodhimin e rrotave prej çeliku, ofron zgjedhjen më të plotë për aplikime jashtë rrugës — një zgjedhje ideale për çdo aventurë që ju pret. Gjeni disa rrota prej çeliku me cilësi të lartë me një buzë të trashë të jashtme për të shtuar qëndrueshmërinë. Për më tepër, kërkoni rrota me dizajn të tipit beadlock për të parandaluar rrotullimin ose lëvizjen e gomës gjatë udhëtimeve jashtë rrugës. Me rrotat e çelikut nga YAOLILAI, mund të jeni të sigurtë që mjeti juaj është i gatshëm për çdo aventurë jashtë rrugës! Rimat prej çeliku kuptojnë se kërkesat e çdo klienti janë të ndryshme dhe ne ofrojmë një gamë të shërbimeve personalizuara. Ne mund të krijojmë një rimë që përputhet me stilen, dizajnin dhe kërkesat tuaja. Kemi një ekip të hulumtimit dhe zhvillimit (RD) të motivuar lartë dhe kreativ, i cili studion vazhdimisht rimat prej çeliku, materiale dhe dizajne. Jemi në gjendje të përgjigjemi shpejt ndaj trendeve të tregut dhe të industrisë. Kjo na lejon të ju ofrojmë rimat prej çeliku më efikase që plotësojnë nevojat tuaja. Kemi një ekip shërbimi kompetent, të ditur, të miqshëm dhe ndihmës për klientët. A do të jetë konsultim para blerjes apo asistencë pas blerjes, ne jemi në gjendje t’ju ofrojmë shërbim të shpejtë dhe të cilësisë, duke siguruar që nuk duhet të shqetësoheni. Nga unazat stërkulluese prej çeliku të lëndëve të para, nga zgjedhja e lëndës së parë deri te produkti final, ne ndjekim standarde të rrepta cilësie dhe kontrollojmë secilën fazë të procesit prodhimtar. Çdo unazë prej çeliku i nënshtrohet proceseve të ndryshme të inspektimit për të siguruar cilësinë e lartë, qëndrueshmërinë dhe dimensionet e sakta. Ne ofrojmë garantinë e cilësisë së lartë.Largohu marre kontakt me mua takimisht nëse u takon problemet!
rrota rrothi prej çeliku
Zbuloni 10 përfitimet kryesore të rrotave prej eliku

Si të zgjidhni rrotat më të mira prej eliku për mjetin tuaj

Problemet e zakonshme me rrotat prej eliku dhe si t'i shmangni ato
Rrotat më të mira prej eliku për mjete të terrenit të ashpër
Why choose YAOLILAI rrota rrothi prej çeliku?
Servis personalizuar dhe porosi:
Ekip i inovativ në & D:
Servis klijent profesional:
Kontroll Kaliteti Larg dhe Larg:
Kategoritë të Larg të Larg të Larg
Nuk po gjeni ç'po kërkonit?
Pyetni një Ofertë Tani
Largoni kontaktoni konsultantët tanë për produktë të tjera të disponueshme.LARGU NJE LARG