XIEHE MEDICAL hár gæða hálsband ...">
,需要通过父级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);
}
});
})();
Háls- XIEHE MEDICAL hálgæða hals hálsband hafa verið hönnuð til að styðja hálsinn þinn og hjálpa þér að létta á hálsverkum eða endurheimta sig eftir skaða. Valkostur Dentons af hálsband hafa verið hönnuð til að veita vörufordæmi sem henta ólíkum þörfum og smákosti. Andleg efni fyrir daglegan komfort þegar notað er allan daginn á öllum stöðum, en samt nógu þunnt til að passa inn í hvaða skó sem er: stúlkna-ekki-sýnilegar viklur fyrir konur, fyrir virkilega notkun, ekki-sýnilegar viklur í húðlit, kynjalausar viklur fyrir börn (stærð 10–12), gulllitnar táspissar, lágstóða viklur, endurminnandi veisluför, fyrir stúlkur og stráka, listskógar, skógar fyrir smábörn, viklur án glæðu á botni, úr ósérhverfðum efnum, allar í einu, átækar viklur fyrir íþróttir og komfort, sveitið-viklur fyrir karla og konur, undir háls, hlaupaviklur – litir, 12-stykja pakki, myndar fótana án þess að þrýsta tærnar saman, hárskór, margfaldar pör, léttvægir, stærðir 1–4, litir með fargervingu, einstök hönnun, stærð, náttúrulegur notkun/leikstofu/náttföt, átækar viklur með góðri andlegu eiginleika, viklur með halda-halda rás, íþróttaviklur, snjallviklur, matplotlib, skilaði sjálfvirkt, uppfærslur sjálfvirkt, selst hröðust, litasafn fyrir stráka, staðlaður skór, háskór úr skinni, skór með lágri stóð, innsteikning, lágstóða viklur, silíkónapunktar, balletróður, máttur, rúllunarbrún, fyrir fólk með diabetes, gildi, me3ns viklur, íþróttaviklur fyrir konur, heimsækja verslunina fyrir frekari upplýsingar, gjafir fyrir konur, pastelllitnar viklur upp að háls, konur og strákar, mjúkar, þeirra tónleikaviklur upp að háls, viklur og strumpur, þighálsstrumpur, mjúkar, 12-stykja pakki, litnar, úr baðklæði, stærðir 3–6, 12-stykja pakki fyrir konur, klúbbviklur upp að háls, Champion-viklur úr spunninu, rörviklur, hryggur upp, heimilisvíklandi, fluffaðar, kawaii, fluffaðar, undir háls, pör, 1/2, stærðir 4–7, hendur, beanie-húfa, rukandi, skýr, pílagríms-húfa, flat 001, íþróttamiklar, silíkónu-, 001], 0015, upp að háls, undir háls, 002], stúlkur, ekki-sýnilegar, konur, litur, fjórðungsviklur, viklur, ósýnilegar, leitilíkur, maples, auðar, bag, botn, Amazon, fótföt, fanti, stærðir 3/6/5/7, skósálfur, lítill, stúlkur, upp að háls, komfur, hiti, fashional, moc, USM~~7???0??msexy brók, lin, búningur, flösku, dimantmynd, /6}/7} sýnd, engin gildilína fyrir konur, #l60/l86/l105, fríttíma, smábörn, íþróttaviklur, vex, stúlka, sléttur, uppáhalds, einfaldur, einstakur, hönnuður, ekki-sýnilegar, 2-stykja pakki fyrir stúlkur, ofurléttar, konur, fastur litur, merki, framleidd í meðferðarsvæði, íþróttamaður, allt í einu, anatomískt. Xiehe Medical Apparatus Instruments hefur ósveigjanlega þátttöku í rannsóknum og þróun, auk þess að framleiða vörur með keppnisfyrirum. Við eigum fjölda einkaleyfa og réttindi á andlegum eignarhlutum, þar á meðal hálsband, rafmagnsdrifin tækni fyrir fyrsta hjálp, sjúkrabúnaður, og vörur fyrir jarðarför. Vörurnar eru hönnuðar til að uppfylla kröfur viðskiptavina og halda skref við nýjasta áttirnar. Þessar vörur hafa fundið góðan viðtök bæði heima og erlendis. Xiehe Medical Apparatus Instruments hefur verið að setja sig inn í alhreinska markaðsfærslu-og sölustratégíu. Við höfum fleiri en 30 umsóknara sem stráka um 120 lönd, þakkað sé fyrir samstarfi með vinum okkar. Halsbúrarnar eru á byggðu langframmkvæmt samstarf við umsóknara og sameignara til að þróa og skapa framtíðina saman. Sem leiðandi framleiðandi lyfja- og heilbrigðisbúnaðar veitir Xiehe Medical Apparatus Instruments háþróaða vörur og sérstakar þjónustu. Vörurnar eru certifíkuðar af TÜV, CE og FDA. Fylgjum við gæðastýringarkerfi ISO 13485. Með ákveðnum liði af starfsfólki getum við svarað þörfum viðskiptavina fljótt og veitt staðlaðar og áreiðanlegar vörur og þjónustu. Ef um er að ræða hjálparbíl, hálsband fyrir nakta, foldanlega báru, sjúkraskoðunarstofuskipulag eða jarðarförartölvur, getur Xiehe Medical Equipment veitt viðskiptavinum lausn sem uppfyllir kröfur þeirra. Hehe Medical Equipment leggur áherslu á ánægju viðskiptavina og streymir að uppfylla kröfur viðskiptavina með góðri gæða- og áreiðanleikasamningum. Við getum veitt viðskiptavinum persónulega þjónustu með hálsbandi fyrir nakta vegna ákveðinnar ákveðinnar ábyrgðar starfsfólksins okkar og samstarfsins við tækni sem við notum. Markmið okkar er að stofna langtíma, traust og samstarfsheimildar samband við viðskiptavini og veita þeim vörur og þjónustu í bestu gæðum.halsbindi
Reglanlegt hönnun til að passa við öll stærðir og veita persónulega auðveldingu
<p>Einn af helstu einkenni XIEHE MEDICAL halsbindi er stillt og hentar fyrir mismunandi stærðir. Hvort sem þú hefur litla háls eða þarft stóra stærð, er okkar hálsband hér til að hjálpa þér! Hana er hægt að stilla, svo hún passi fyrir hvaða tölu í tomum sem þú vilt. Þetta hljómar eins og frábær tól til að byggja sjálfstraust og jákvæða viðhorf. Á þann hátt geturðu borist hálsmarkið alla daginn án þess að feela sársauka eða óþæginda.</p>

Andrýmanleg efni fyrir daglegan notkun án óþæginda

Bætir haltu og minnkar hálsverk til fullnægju veitingakvers sem kaupa í magni
<p>Við vitum hversu mikilvægt er að hafa andlega efni þegar notað er vörur eins og halsbindi fyrir langan tíma. Þess vegna eru hálsbandin okkar framleidd úr varðveislu- og andlegum efnum sem láta loft inn og halda lengi svo að þú getir verið köld og þurr þegar hitinn rís. Þú getur treyst á það að þín hvíld sé fyrsta áherslumark okkar þegar þú notar okkar hálsstyttur from morning until night.

Lækningar mæla með fyrir endurgerð og áverkabaráttu við kaup í stórmagni
<p>XIEHE MEDICAL hálsband Hafa einnig verið árangursríklega notaðar til að rétta halt og létta á hálsverkum. Hálsmáttarnir okkar hjálpa við að styðja rétta staðsetningu og minnka álag á hálsmuskulana til að koma í veg fyrir framanhöfuðhalt, hálsverk og fleira. Og verslunarsamningar við verslunaraðila eru tryggðir með því að hálsmáttarnir okkar séu framleiddir með nákvæmni og í hæsta gæðastigi og án afdráttar.
Why choose XIEHE MEDICAL
halsbindi?
Nýsköpun R og D og vöru sölu punktar
Þjónnustuverk fyrir heimmarkaðar og stöðugir samstarfsmenn
Hátt gæði vöru og sérstaka þjónustu
Viðskiptavinakær Fast efri-verkæfaþjónusta og tæknileg stuðningur
Finndu ekki það sem þú leitar að?
Biðja um tilboð núna
Hafðu samband við ráðgjafana okkar fyrir fleiri tiltækar vörur.Taktu samband