…">
,需要通过父级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);
}
});
})();
Eines der besten Dinge, die du tun kannst, um das Aussehen und die Leistung deines Autos zu verbessern, ist der Wechsel zu einem neuen Satz von Rädern. Es auto-Felgen kann ein spaßiger und belohnender Prozess sein, die perfekten Räder für dein Fahrzeug auszuwählen. In verschiedenen Größen, Farben und Designs erhältlich bei JC Whitney gibt es wenige Möglichkeiten, dein Fahrzeug auf kostengünstige Weise zu personalisieren wie mit Scheinwerfern. Viele Automobilbegeisterte bevorzugen 20-Zoll-Räder auf ihrem Fahrzeug. Diese YAOLILAI Räder sind besonders beliebt, da sie eine Note von Eleganz und Stil vermitteln, die dennoch subtil ist und nicht übertrieben wirkt. Abgesehen davon, dass diese die Radhauben perfekt ausfüllen, erledigt ein Satz von fifteen52s eine ideale Kombination aus Form und Funktion für jeden, der sowohl Stil als auch Geschwindigkeit möchte. 20-Zoll-Rad-Welt - Eines für jeden Geschmack. Schauen Sie sich die VMB9-Räder von Velgen Wheels an, in verschiedenen Farben verliehen – wählen Sie die, die am besten zu Ihrem Auto passt. Gleichzeitig bietet das TSW Bathurst Felgenrad mit DST Hybris Technologie eine verbesserte Leistung, mit schwarz oder silbern Available um einen sportlichen und stylishen Reiz hervorzuheben. Nicht nur können Sie sich die Räder aussuchen, die in der richtigen Größe und Art sind, sondern es hat noch nie einen besseren Zeitpunkt gegeben als heute, um durch Anpassungen Ihre Persönlichkeit als Auto-Enthusiast auszudrücken! Von der Auswahl der Farben und Oberflächen bis hin zu Logos usw. gibt es so viele Optionen, um ein Satz Felgen wirklich einzigartig zu gestalten. Online-Zubehörshops für Autos bieten eine perfekte geldsparende Lösung für jene, die gute Qualität bei Rädern suchen, ohne dafür Unmengen von Geld ausgeben zu müssen. Sie lesen einfach die Bewertungen und wählen einen guten Verkäufer aus; und sofort können Sie sie zum besten Preis bekommen. Diese gusseisernen Räder bieten trotz gleichen Stils eine erschwingliche leichte Alternative zu herkömmlichem Aluminium. Durch das möglichst lange Aufrechterhalten eines guten Zustands Ihrer Felgen können Sie deren Lebensdauer verlängern. Eine ordnungsgemäße Reinigung ist unerlässlich, da Schmutz und Dreck im Laufe der Zeit die Beschichtung beschädigen können. Verwenden Sie keine aggressiven Reiniger, da diese die Felgen schaden können. Felgenbeschichtungen bieten Schutz. Obwohl Felgenschutzfolie eine großartige Erfindung ist, stellt dies möglicherweise keine der erschwinglichsten Optionen dar für jemanden mit begrenztem Budget oder unter harten Fahrbedingungen. Also, insgesamt bietet sich die Verbesserung der Felgen als einfache und schnelle Möglichkeit an, sowohl das Aussehen als auch die Leistung Ihres Autos zu verbessern. Denken Sie jedoch daran, dass Sie Ihre Felgen länger halten können, indem Sie sie weise auswählen und sorgfältig pflegen. Nutzen Sie also die Gelegenheit, Ihr Auto mit einem neuen Satz Felgen zum Leben zu erwecken, und fahren Sie mutig und fantastisch auf den Straßen! Neben der Auswahl der passenden Größe und Art der Räder von YAOLILAI gibt es unzählige Designmöglichkeiten, um Ihr Auto abzurunden. Oft ist einer der einfachsten Wege, Ihren Reifen einen persönlichen Touch zu verleihen, ein maßgeschneidertes Finishing in Kombination mit Farbe und Haltbarkeit: Pulverbeschichtungen sind zweifellos beliebt, da sie Schutz gegen Kratzer, Splitter und UV-Schäden bieten. Eine Zwei-Ton-Farbe oder sogar ein Mehrfarben-Design mit verschiedenen Farben und Texturen ist ebenfalls perfekt für diejenigen, die sicherstellen möchten, dass sie bemerkt werden. Der autoreifenfelge der billet Zentralkappe kann hergestellt werden, um eines der gleichen Sicherheits- oder Unternehmenslogos anzuzeigen, und die Radgröße-Informationen sind als Aufkleber auf den Rädern verfügbar, was eine weitere elegante Möglichkeit darstellt, Ihre eigenen Felgen individuell gestalten zu können. Mit dieser Methode können Sie eine individuelle Inschrift oder sogar das Bild Ihres Logos direkt auf die Felgenoberfläche aufbringen, was es sehr einzigartig macht und sich von jeder anderen äußeren Entscheidung bei diesen Rädern unterscheidet. Obwohl nicht jeder die Mittel hat, sein Auto endlos zu aktualisieren, gibt es bei YAOLILAI viele Quellen für hochwertige 20-Zoll-Räder. Eine noch effektivere Strategie besteht darin, online bei Großhändlern für Autozubehör einzukaufen, da die meisten von ihnen günstige Preise für Räder/Kappen anbieten. Stelle sicher, dass du die Bewertungen liest, bevor du kaufst, und prüfe, ob dein Verkäufer einen guten Ruf hat. Wenn dem so ist, kannst du etwas Geld sparen, indem du zu einer Gusselektrodenrad-Art wechselst statt zur teureren gefertigten Aluminiumoption. Obwohl sie felgen und Reifen nicht dasselbe leichte Gewicht und die elegante Leistung wie ihre hochwertigeren Gegenstücke bieten, kommen diese ebenfalls mit einem Preis, der weniger als die Hälfte kostet. Die Vor- und Nachteile verschiedener Raddurchmesser für dein Fahrzeug Zusammengefasst ist dies eine sehr allgemeine Übersicht der Vorteile und Nachteile hinsichtlich verschiedener Raddurchmesser: 16-Zoll-Räder: Im Allgemeinen die günstigsten, diese sind einfach und unaufdringlich. Sie bieten jedoch wahrscheinlich nicht dasselbe Leistungs- oder Designniveau wie größere Räder. 18-Zoll-Räder: Die stahlränder goldene Mitte bei Rad Durchmessern, diese bieten bessere Leistung ohne zu viel Aufdringlichkeit und eine Basis, die weniger teuer zu ersetzen ist, falls sie beschädigt werden. 20-Zoll-Räder: Die Größe, die oft als der ideale Kompromiss für jemanden gilt, der gut aussehen und sich wohlfühlen möchte, was Fahrkomfort und Handhabung betrifft. Die Preise sind weit davon entfernt, wirtschaftlich zu sein, aber sie haben ein gutes Gleichgewicht zwischen Leistung und Attraktivität. Nachdem Sie etwas Geld in ein schickes Set 20-Zoll-Räder investiert haben, ist es wichtig, die richtigen Schritte zur ordnungsgemäßen Lagerung einzuhalten, damit Ihr neuer Glanz nicht bereits nach wenigen Monaten stumpf wird. Lesen Sie weiter und erfahren Sie von Experten, wie Sie Ihre Räder stets glanzvoll halten. Regelmäßige Radreinigung: Dies mag Ihnen offensichtlich erscheinen, doch die regelmäßige Reinigung Ihrer Räder ist unerlässlich, um sie von Schmutz / Verschmutzungen / Bremsstaub zu befreien, die sich im Laufe der Zeit in die Oberfläche einfräsen können. Vermeiden Sie aggressive Reinigungsmittel: Reinigen Sie Ihre Räder mit mildem Seifenwasser – verwenden Sie keinerlei aggressiven Reiniger, die die Oberfläche möglicherweise beschädigen könnten. Wenn Sie in einer Region mit rauem Wetter leben, sollten Sie darüber nachdenken, Radabdeckungen oder Schutzbeschichtungen zu kaufen, die Ihre Räder vor Winter und Regen schützen. Regelmäßige Kontrollen: Werfen Sie im Rahmen einer Routinekontrolle einen Blick auf alle benutzerdefinierten Räder räder Ihres Pferdeanhängers, um Anzeichen von Verschleiß oder Beschädigung zu erkennen. Eine frühzeitige Erkennung kann verhindern, dass sich der Schaden auf einen schwerwiegenderen Zustand ausweitet. Wir bieten eine breite Palette an Dienstleistungen an, die speziell auf die individuellen Bedürfnisse jedes Kunden zugeschnitten sind. Wir können 20-Zoll-Felgen nach Ihren persönlichen Vorlieben, Ihrem Geschmack und Ihren technischen Spezifikationen anfertigen. Unser kompetentes, gut geschultes, freundliches und hilfsbereites Service-Team steht Ihnen bei 20-Zoll-Felgen stets zur Seite – sei es vor dem Kauf für eine Beratung oder nach dem Kauf für Unterstützung. Wir garantieren Ihnen stets schnelle und qualitativ hochwertige Serviceleistungen, sodass Sie sich um nichts sorgen müssen. Unser hochmotiviertes Forschungs- und Entwicklungsteam für 20-Zoll-Felgen erforscht kontinuierlich neue Materialien, Verfahren und Designs. So können wir schnell auf Marktanforderungen und branchenspezifische Trends reagieren und unseren Kunden die innovativsten Stahlringprodukte liefern, die optimal auf Ihre Anforderungen abgestimmt sind. Wir verpflichten uns zu Qualitätsstandards für 20-Zoll-Felgen. Wir überwachen sorgfältig jeden Schritt des Produktionsprozesses – angefangen bei der Auswahl der Rohstoffe. Jeder Stahlring durchläuft mehrere Prüfprozesse, um dessen Festigkeit, Haltbarkeit und präzise Abmessungen sicherzustellen. Wir bieten eine verlässliche Qualitätsgarantie.Kontaktieren Sie mich sofort, wenn Sie Probleme haben!
20-Zoll-Felgen
Eindeutige Designmöglichkeiten für dein Fahrzeug

Wie man qualitativ hochwertige Räder im Budget findet

Vorteile und Nachteile der Felgengröße für deine Fahrzeuge

Tipps, um Ihre Felgen neu aussehen zu lassen
Why choose YAOLILAI 20-Zoll-Felgen?
Personalisierter und angepasster Service:
Professioneller Kundenservice:
Innovatives F&E-Team:
Strenge Qualitätskontrolle:
Finden Sie nicht, wonach Sie suchen?
Angebot anfordern
Kontaktieren Sie unsere Berater für weitere verfügbare Produkte.Kontakt aufnehmen