. Dies ist wichtig, da es …">
,需要通过父级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);
}
});
})();
Verwenden Sie den richtigen Anhänger Zuerst: Berücksichtigen Sie das Gewicht und die Größe Ihres Anhänger-Rad und Reifen das ist wichtig zu wissen, weil es die richtige Größe und Leistung des Rades und der Reifen bestimmt, die Sie benötigen. Um das Gewicht eines schwereren Anhängers zu tragen, müssen die Räder und Reifen in der Lage sein, diese Last zu tragen. Andererseits kann eine zu kleine oder schwache Ausstattung von Rädern und Reifen dazu führen, dass sie vorzeitig versagen, was manchmal zu einem katastrophalen Versagen führt. Daher muss die Größe und Stärke von Rad und Reifen zu Ihrem Anhänger passen – sehr wichtig. Zweitens, beachten Sie die Fahrbahnen, auf denen Ihr Anhänger eingesetzt wird. Räder und Reifen müssen sich an jede Oberfläche anpassen, egal ob glatte, gut asphaltierte Straßen oder steinige Pfade. Bei Fahrten über steinige Pfade brauchen Sie Reifen, die rauen Oberflächen standhalten können. Wenn Sie hingegen hauptsächlich auf glattem Asphalt fahren, könnten normale Reifen ausreichen. Ein Verständnis der Geländebeschaffenheit sorgt dafür, dass Sie Räder und Reifen auswählen, die in Ihrem spezifischen Gelände bestehen werden. Durch regelmäßige Inspektion Ihrer Räder und Reifen können Sie sicherstellen, dass sie in gutem Zustand sind. Suchen Sie nach Rissen oder anderen Schäden. Dies ist wichtig, weil kleine Probleme zu größeren werden können, wenn sie nicht behandelt werden. Überprüfen Sie außerdem den Luftdruck im Reifen. Dies hilft, sicherzustellen, dass er funktionsfähig bleibt und reibungslos und effektiv läuft. Das Reinigen Ihrer Räder und Reifen ist ein weiterer Aspekt der Wartung. Im Laufe der Zeit können Dreck und Fremdkörper ansammeln und Probleme verursachen. Regelmäßiges Reinigen verhindert Schäden und sichert die ordnungsgemäße Funktion. Abschließend sollten Sie lernen, wie Sie Ihre Anhänger-Räder und Reifen lagern, wenn Sie Ihren Anhänger nicht verwenden. Dadurch wird gewährleistet, dass sie in bestem Zustand bleiben, bis Sie sie wieder benötigen. Es gibt viele Gründe, warum Sie sich um die Pflege Ihrer Anhänger-Räder und Reifen ist essenziell. Erstens hilft es, sicherzustellen, dass Ihr Anhänger straßentauglich ist. Wenn die Räder und Reifen nicht in Ordnung sind, kann dies dazu führen, dass Sie Unfälle oder Pannen haben, während Sie fahren. Zweitens wird eine sorgfältige Pflege die Lebensdauer Ihres Rades und Reifens verlängern. Dadurch sparen Sie Geld, da Sie sie nicht regelmäßig ersetzen müssen. Und der erste Schritt besteht darin, zu entscheiden, welche Art von Anhänger-Räder und Reifenpaket Sie tatsächlich benötigen. Überprüfen Sie die Lastfähigkeit, die sichtbare Größe und auf welchen Typ von Oberfläche Sie fahren werden und dergleichen. Stellen Sie sicher, das richtige Set für Ihren speziellen Anhänger auszuwählen. Das bedeutet, dass Ihre neuen Räder und Reifen perfekt zu Ihrem Anhänger passen sollten, um optimale Sicherheit und Leistung zu gewährleisten. Egal, welche Art von Fahrweise Sie mit Ihrem Set ausführen werden, ist es auch entscheidend sicherzustellen, dass Ihre Kombination aus Felgen und Reifen für das Gelände geeignet ist, mit dem Sie konfrontiert sein werden. Felgen und Reifen haben unterschiedliche Anforderungen je nach Straße. Als extremer Beispiel: Wenn Sie durch schlammige Pfade fahren möchten, benötigen Sie einen Reifen mit sehr gutem Bodengriff. Eine gute Auswahl an Anhänger-Räder und Reifen trägt dazu bei, die bestmögliche Sicherheit während des Transports zu gewährleisten. Wir bieten eine breite Palette an Dienstleistungen an, die speziell auf die individuellen Anforderungen jedes Kunden zugeschnitten sind. Wir können Felgen herstellen, die genau Ihren Anforderungen hinsichtlich Anhängerrad und -reifen, Leistung und Spezifikationen entsprechen. Unser kompetentes, fachkundiges, freundliches und hilfsbereites Servicepersonal steht Ihnen bei Anhängerrädern und -reifen stets zur Seite. Ob vor dem Kauf für Beratung oder nach dem Kauf für Unterstützung – wir bieten Ihnen stets schnelle und qualitativ hochwertige Serviceleistungen, sodass Sie sich um nichts sorgen müssen. Unser leidenschaftliches und kreatives F&E-Team beschäftigt sich intensiv mit neuen Materialien, Technologien und Designs für Anhängerräder und -reifen. Wir reagieren schnell auf Marktanforderungen und Branchentrends und liefern Ihnen stets die neuesten Stahlfelgenprodukte, die optimal auf Ihre Bedürfnisse abgestimmt sind. Von der ersten Auswahl der Rohstoffe bis zum Endprodukt folgen wir strengen Qualitätsstandards und überwachen jeden Schritt des Prozesses. Jeder Stahlring für Anhängerräder und -reifen unterzieht sich mehreren Inspektionen, um seine hohe Festigkeit, Langlebigkeit und exakten Abmessungen sicherzustellen – so erhalten Sie die Gewissheit höchster Qualität.Kontaktieren Sie mich sofort, wenn Sie Probleme haben!
Anhänger-Rad- und Reifen
Wartung Ihrer Anhänger-Rad- und Reifenzustände für optimale Leistung

Warum und Wie

Expertentipps zum Kauf und Installieren von Anhänger-Rad- und Reifensätzen

Vermeidung von Anhängerunfällen durch richtige Pflege von Rad und Reifen
Why choose YAOLILAI Anhänger-Rad- und Reifen?
Personalisierter und angepasster Service:
Professioneller Kundenservice:
Innovatives F&E-Team:
Strenge Qualitätskontrolle:
Nicht das gefunden, was Sie suchen?
Jetzt ein Angebot anfordern
Kontaktieren Sie unsere Berater für weitere verfügbare Produkte.Kontaktieren Sie uns