XIEHE MEDICAL chất lượng cao bó cổ…">
,需要通过父级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);
}
});
})();
Các XIEHE MEDICAL chất lượng cao cổ tử cung vòng cổ cố định cổ đã được thiết kế nhằm hỗ trợ vùng cổ của bạn và giúp bạn giảm đau cổ hoặc phục hồi sau chấn thương. Dòng sản phẩm của Dentons bao gồm cervical collars đã được thiết kế để mang lại các lợi ích sản phẩm đáp ứng các nhu cầu và sở thích khác nhau. Chất liệu thoáng khí để mang suốt cả ngày, phù hợp cho mọi hoạt động nhưng vẫn đủ mỏng để dễ dàng luồn vào bất kỳ đôi giày nào; tất không lộ cổ chân dành cho nữ (dành cho cả nam và nữ), màu da, kiểu cổ ngắn, tất cổ thấp cho trẻ em (cỡ 10–12), đầu ngón chân màu vàng kim; tất phong cách retro cho tiệc, dành cho bé gái và bé trai; dép lười có dây buộc; tất cho trẻ tập đi; đế chống trượt; chất liệu vải hữu cơ; tất bó thể thao unisex; tất thể thao hút ẩm; tất bó giữ dáng thoải mái; tất chạy bộ dưới bắp chân; nhiều màu sắc, đóng gói theo bộ 12 chiếc; thiết kế ôm chân khi luyện tập mà không gây chèn ép các ngón chân; thích hợp cho giày cao gót; bán theo nhiều cặp; nhẹ cân; cỡ 1–4; nhuộm bằng thuốc nhuộm gốc pigment, họa tiết độc đáo; cỡ chuẩn; chất lượng tất dùng hàng ngày / thư giãn / mặc ngủ; tất bó thoáng khí; miếng đệm giữ cố định; tất thể thao thông minh; biểu đồ matplotlib; trả hàng tự động; làm mới tự động; sản phẩm bán chạy nhất; bộ sưu tập màu sắc dành cho bé trai; tiêu chuẩn; tất da thật; tất thuyền cổ thấp; lớp lót trong; tất cổ thấp có chấm silicone; tất ba lê; có nếp gấp ly tinh tế; dành riêng cho người mắc bệnh tiểu đường; giá trị tốt — tất thể thao dành cho nữ; truy cập cửa hàng để xem chi tiết; quà tặng dành cho phụ nữ; tất cổ mắt cá chân màu pastel; tất cho bé trai và bé gái; mềm mại; phù hợp cho buổi hòa nhạc; tất cổ mắt cá chân; đồ tất nói chung; tất đến đùi; mềm mại; bộ 12 chiếc; màu sắc đa dạng; cotton; cỡ 3–6; bộ 12 chiếc dành cho nữ; tất cổ mắt cá chân cho câu lạc bộ; thương hiệu Champion, dệt vòng; ống tất; kiểu nâng mông; ấm áp, mềm mịn; phong cách kawaii, bông xốp; tất cổ thấp; một đôi; cỡ 1/2, 4–7; găng tay; mũ beanie; thấm hút tốt; khăn tắm; hình hành hương; mũ phẳng; mã sản phẩm 001; phong cách thể thao; có chấm silicone; mã sản phẩm 001; mã sản phẩm 0015; tất cổ mắt cá chân và dưới mắt cá chân; mã sản phẩm 002; tất không lộ cổ chân dành cho bé gái; tất không lộ cổ chân dành cho nữ; tất cổ ngắn theo màu; tất không nhìn thấy; tất giữ dáng; họa tiết cây phong; sản phẩm trắng chưa in; túi đựng đáy cứng; Amazon; tất đi trong nhà; thương hiệu Fanti; cỡ 3/6/5/7; người yêu giày; tất nhẹ; tất cho bé gái; tất cổ mắt cá chân thoải mái; ấm áp; thời thượng; mocassin; USM~~7???0??M; quần bó gợi cảm bằng vải lanh; trang phục hóa trang; họa tiết kim cương lấp lánh; /6}/7} như hình; không có dòng sản phẩm giá trị; quần áo nữ thương hiệu No Value Line; mã sản phẩm #L60/L86/L105; phong cách thường ngày; tất thể thao cho trẻ mới biết đi; phát triển theo độ tuổi; bé gái; dáng ôm; yêu thích; trơn; độc đáo; thiết kế riêng; không lộ cổ chân – giảm 50%; bộ 2 chiếc; tất siêu ẩn dành cho bé gái; tất không lộ cổ chân dành cho nữ; màu trơn; thương hiệu nổi tiếng; sản xuất tại vùng ôn đới; vận động viên chuyên nghiệp; tất toàn diện; giải phẫu học phù hợp với bàn chân. Xiehe Medical Apparatus Instruments thể hiện sự cam kết không lay chuyển đối với đổi mới và nghiên cứu - phát triển (R&D), đồng thời sản xuất các sản phẩm có điểm bán hàng cạnh tranh. Chúng tôi là chủ sở hữu tự hào của một loạt bằng sáng chế và quyền sở hữu trí tuệ, bao gồm áo bó cổ, dụng cụ kéo giãn, đồ dùng cấp cứu, đồ nội thất bệnh viện và sản phẩm tang lễ. Các sản phẩm được thiết kế nhằm đáp ứng nhu cầu của khách hàng và bắt kịp những xu hướng mới nhất. Những sản phẩm này được khách hàng trong nước và quốc tế đón nhận rất tích cực. Xiehe Medical Apparatus Instruments đã cam kết với chiến lược toàn cầu hóa trong marketing và bán hàng. Chúng tôi có hơn 30 nhà phân phối trải rộng khắp 120 quốc gia, sau hơn một thập kỷ nỗ lực với sự hỗ trợ từ các đối tác. cổ áo bảo vệ tập trung vào việc xây dựng mối quan hệ hợp tác lâu dài với các nhà phân phối và tích hợp để cùng nhau phát triển và tạo nên tương lai. Là nhà sản xuất hàng đầu các thiết bị y tế, Công ty Thiết bị Y khoa Xiehe cung cấp các sản phẩm chất lượng cao và dịch vụ chuyên biệt. Các sản phẩm đều được chứng nhận TUV, CE và FDA. Chúng tôi tuân thủ hệ thống kiểm soát chất lượng ISO 13485. Với đội ngũ nhân viên tận tâm, chúng tôi có khả năng phản hồi nhanh chóng các nhu cầu của khách hàng, đồng thời cung cấp các sản phẩm và dịch vụ ổn định, đáng tin cậy. Dù là cổ áo bất động cổ cho xe cứu thương, cáng gấp, đồ nội thất bệnh viện hay vật dụng tang lễ, Thiết bị Y khoa Xiehe đều có thể mang đến cho khách hàng giải pháp hài lòng. Thiết bị Y khoa Hehe đặt sự hài lòng của khách hàng lên hàng đầu và nỗ lực đáp ứng mọi yêu cầu của khách hàng với chất lượng và độ tin cậy cao. Nhờ sự tận tâm của đội ngũ nhân viên cũng như công nghệ hợp tác hiện đại mà chúng tôi áp dụng, chúng tôi có thể cung cấp cho khách hàng dịch vụ cổ áo bất động cổ cá nhân hóa. Mục tiêu của chúng tôi là xây dựng mối quan hệ lâu dài, vững chắc và hợp tác với khách hàng, đồng thời mang đến cho họ những sản phẩm và dịch vụ chất lượng cao nhất.đai cổ
Thiết kế điều chỉnh được để vừa với mọi kích cỡ và mang lại sự thoải mái cá nhân
<p>Một trong những đặc điểm nổi bật của THIẾT BỊ Y KHOA XIEHE </p> đai cổ có thể điều chỉnh và phù hợp với nhiều kích cỡ khác nhau. Dù bạn có cổ nhỏ hay cần kích cỡ lớn, sản phẩm của chúng tôi vòng cổ cố định cổ được thiết kế để hỗ trợ bạn! Sản phẩm có thể điều chỉnh được, do đó bạn có thể tuỳ chỉnh độ dài theo số inch mong muốn. Điều này nghe như một công cụ tuyệt vời giúp nâng cao sự tự tin và tinh thần tích cực. Nhờ vậy, bạn có thể đeo vòng cổ này cả ngày dài mà không cảm thấy đau hay khó chịu.</p>

Chất liệu thoáng khí để đeo cả ngày mà không gây khó chịu

Cải thiện tư thế và giảm đau cổ, đảm bảo sự hài lòng của khách mua sỉ
<p>Chúng tôi hiểu rõ tầm quan trọng của khả năng thoáng khí khi đeo một sản phẩm như chiếc đai cổ trong thời gian dài. Đó là lý do vì sao cổ áo của chúng tôi được chế tạo từ các vật liệu bền bỉ, thoáng khí, giúp không khí lưu thông và có độ bền cao hơn, nhờ đó bạn luôn cảm thấy mát mẻ và khô ráo ngay cả khi nhiệt độ tăng cao. Bạn hoàn toàn có thể tin tưởng rằng sự thoải mái của bạn chính là ưu tiên hàng đầu của chúng tôi mỗi khi bạn đeo sản phẩm nẹp cổ from morning until night.

Được bác sĩ khuyến nghị dùng để phục hồi chức năng và phòng ngừa chấn thương khi đặt hàng số lượng lớn
<p>XIEHE MEDICAL cervical collars cũng đã được sử dụng hiệu quả trong việc điều chỉnh tư thế và giảm đau cổ. Các vòng đeo cổ của chúng tôi hỗ trợ duy trì sự thẳng hàng đúng cách và làm giảm áp lực lên các cơ cổ nhằm giúp phòng ngừa tình trạng đầu vươn về phía trước, đau cổ và nhiều vấn đề khác. Đồng thời, khách hàng mua sỉ có thể hoàn toàn yên tâm rằng các vòng đeo cổ của chúng tôi được sản xuất chính xác theo tiêu chuẩn chất lượng và độ hài lòng cao nhất.
Why choose XIEHE MEDICAL
đai cổ?
Sáng kiến nghiên cứu và phát triển cùng những điểm bán hàng sản phẩm nổi bật
Mạng lưới tiếp thị toàn cầu và đối tác ổn định
Sản phẩm chất lượng cao và dịch vụ chuyên nghiệp
Đặt khách hàng làm trung tâm Dịch vụ sau bán hàng và hỗ trợ kỹ thuật nhanh chóng
Các danh mục sản phẩm liên quan
Không tìm thấy sản phẩm bạn cần?
Yêu cầu Báo giá Ngay
Liên hệ với các chuyên viên tư vấn của chúng tôi để biết thêm các sản phẩm có sẵn.Liên hệ