para sa ligtas na pagtatapon:
Ang XIEHE MEDICAL ay nag-aalok ng pinakamahusay na m...
">
,需要通过父级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);
}
});
})();
Maiiting-calidad sharps bin para sa ligtas na pagtatapon: Ang XIEHE MEDICAL ay nag-aalok ng pinakamahusay na medical sharps bins na kinakailangan sa pag-alis ng mapanganib na basura. Ang aming mga sharps bin ay perpekto para sa ligtas na pagkolekta at pagtatapon ng mga karayom, syringes, at iba pang matutulis na bagay. Mayroon itong matibay na konstruksyon at madudukot na takip, na nagbibigay ng ligtas na solusyon para sa mga ospital, laboratoryo, at iba pang lugar kung saan nabubuo ang medikal na basura. Ang paggamit ng XIEHE MEDICAL sharps bins ay makatutulong upang maiwasan ang panganib na ma-expose ang iyong mga kawani at pasyente sa paghawak ng mga matutulis na bagay. Bumili ng mga basurahan para sa mga matutulis nang buo sa makatwirang presyo: Ang XIEHE MEDICAL ay isang mapagkumpitensyang tagadistribusyon ng pasmo II, espesyalista kami sa pagbibigay ng bentahan-buo sharps bin para sa iyong negosyo, at malakas rin ang aming alok na muling magagamit na pasmo II. Ang pagbili ng mga basurahan para sa mga matutulis nang buong dami mula sa XIEHE MEDICAL ay makakatipid din ng pera at magagarantiya ng sapat na suplay ng lalagyan para sa pagtatapon ng mga matutulis. Nag-aalok kami ng bentahan-buo para sa mga ospital, klinika, botika, at iba pang organisasyon na nangangailangan ng malaking dami ng mga basurahan para sa mga matutulis na may konsistenteng pangangailangan. Mula sa XIEHE MEDICAL, makakahanap ka ng de-kalidad na mga basurahan para sa mga matutulis nang mababang gastos upang mapanatiling malinis at epektibo ang iyong proseso ng pamamahala ng basura. Saan bibilhin ang pinakamahusay mga sharps bin nang malaking dami: Kung gusto mong bumili ng mga high-performance sharps container na may murang presyo, sulit ang pagbisita sa XIEHE MEDICAL! Iba't ibang epektibo at ligtas na sharps container para gamitin sa lahat ng healthcare environment. Ang aming sharps bins ay gawa sa matibay na materyales at sumusunod sa lahat ng kaukulang safety standard upang mapadali ang ligtas na pagtatapon ng sharps waste DP273 Specification Model No DP301 Description Needle destroyer Voltage(V) 220/110 Power(W)18 Packing size(cm):43 2714 Material ABS Colour yellow Certificate CE0598,ISO9001,ISO13485 Application:Needle / syringe in case it is staple,and cut wire Easily into pieces no diameter for needle and only non diameter Lenth:19cm Product tag:Bench Top Needle Destroyer Maaaring pharmacy, veterinary practice, o artist na dalubhasa sa tattoos - may angkop na solusyon ang XIEHE para sa bawat pangangailangan. Mababawasan mo ang gastos, at masisiguro mong sapat ang bilang ng sharps bins na nasa iyong kamay kung bibili ka nang buong karton mula sa amin. Ano ang tamang paraan ng paggamit ng aming sharps bins? Mahalaga ang ligtas na pagtatapon ng mga matutulis upang maiwasan ang mga sugat at impeksyon. Kinakailangan malaman kung paano gamitin ang timba para sa mga matutulis sa trabaho upang maipagtaboy nang ligtas ang mga medikal na matutulis gamit ang XIEHE MEDICAL sharp bins. Palaging tiyaking agad na itinatapon ang ginamit na mga matutulis sa timba para dito, at huwag subukang takpan muli o baluktotin ang mga karayom bago itapon. Kapag puno na ang timba, isara ang takip at lagyan ng tape upang maiwasan ang anumang posibleng pagbubuhos. Kung kailangang itapon ang isang timba, tumawag sa lokal na serbisyo ng pangangalap ng basura (ang inyong waste disposal management company) o sa inyong healthcare provider para sa mga tagubilin. Ang tamang paggamit ng XIEHE MEDICAL sharp containers ay nagagarantiya rin na ang iba pang tao na maaaring makasalamuha mo, kabilang ang mga bata at mga manggagawa sa bahay, ay hindi mahantad sa mapanganib na mga matutulis. Saan makikita ang pinakamahusay na alok para sa mga suplay ng sharps bin: Kapag naghahanap ng pinakamahusay na alok para sa mga suplay ng sharps bin, ang XIEHE MEDICAL ang iyong solusyon. Ang aming mapagkumpitensyang presyo sa lahat ng aming sharps bin at accessories ay nagpapadali sa iyo na mag-stock up ng lahat ng kailangan mo para ma-dispose nang ligtas at epektibo ang mga sharps. Kung kailangan mo man ng sharps bin, sharps container, o sharps disposal kit, ang XIEHE MEDICAL ang may pinakamagagandang presyo na available. Ngayon, gamit ang aming mapagkumpitensyang presyo at de-kalidad na produkto, maaari mong asahan na ang XIEHE MEDICAL ay may pinakamahusay na mga suplay ng sharps bin sa bayan! Kaya ano pa ang hinihintay mo? Bisitahin ang aming tindahan ngayon at tiyaking handa ka na para sa ligtas na pagtatapon ng mga sharps. Ang Xiehe Medical Apparatus Instruments ay nakatuon sa globalisasyon sa marketing at benta. Mayroon kaming higit sa 30 na distributor sa higit sa 120 na bansa, na batay sa higit sa 10 taon ng suporta at pagsisikap mula sa aming mga kasosyo. Naninindigan kami sa pagbuo ng matagalang pakikipagtulungan kasama ang mga distributor at integrator upang magtulungan nating itayo ang hinaharap. Ang Xiehe Medical Apparatus Instruments ay patuloy na nakikilahok sa makabagong pananaliksik at pag-unlad (R&D) at nakatuon sa pagbibigay ng kompetitibong mga punto ng pagbebenta ng produkto. Ang mga patent at karapatan sa intelektuwal na ari-arian ay protektado para sa mga medical stretcher, mga produkto para sa unang tulong tulad ng mga kagamitan sa ospital, gayundin ang mga produkto para sa libing. Ang mga produkto ay idinisenyo upang sumunod sa mga modernong uso at tumugon sa mga pangangailangan ng aming mga customer. Sila ay lubos na tinatanggap ng parehong lokal at internasyonal na mga customer ng basurahan para sa mga sharp object. Sa Hehe Medical Equipment, pinahahalagahan namin ang kasiyahan ng mga customer at sinusubukang tugunan ang kanilang mga pangangailangan para sa mga sharps bin nang may kahusayan at katiwalian. Nakakapagbigay kami ng personal at maaasahang serbisyo sa mga customer dahil sa dedikasyon ng aming mga kawani, kasama ang ginagamit naming kolaboratibong teknolohiya. Ang aming layunin ay itatag ang isang matagalang, matatag, at kapaki-pakinabang na ugnayan sa aming mga customer at bigyan sila ng mga produkto at serbisyo na may pinakamataas na kalidad. Bilang propesyonal na tagagawa ng medical sharps bin, ang Xiehe Medical Apparatus Instruments ay nag-aalok ng mga de-kalidad na produkto pati na rin ng mga espesyalisadong serbisyo. Sumusunod kami nang mahigpit sa proseso ng quality control na ISO13485, at lahat ng aming mga produkto ay sertipikado ng TUV, CE, FDA, at iba pa. Mayroon kaming koponan ng mga eksperto na mabilis na tumutugon sa mga kahilingan ng aming mga customer at nagbibigay ng matibay at maaasahang mga produkto. Kung kailangan ninyo ang stretcher para sa ambulansya, folding stretcher, hospital furniture, o mga gamit para sa libing, ang Xiehe Medical Equipment ay kayang magbigay ng solusyon na kasiya-siya para sa inyong mga customer.sharps bin
Basurahan na mataas ang kalidad para sa ligtas na pagtatapon ng mga matutulis

Mga basurahan para sa mga matutulis na ibinebenta buo sa mapagkumpitensyang presyo

Saan bibilhin ang pinakamahusay na mga basurahan para sa mga matutulis nang buong dami

Paano maayos na itapon ang mga matutulis gamit ang aming mga basurahan
Why choose XIEHE MEDICAL
sharps bin?
Global na network ng marketing at matatag na mga partner
Mapanuring R at D at Produkong Benta ng Points
Nakatuon sa Mga Kliyente na Bilis na serbisyo pagkatapos ng benta at suporta sa teknikal
Mataas na kalidad ng mga produkto at espesyal na mga serbisyo
Mga kaugnay na kategorya ng produkto
Hindi makahanap ng hinahanap?
Humiling ng Quote Ngayon
Makipag-ugnay sa aming mga konsultant para sa iba pang mga produkto.Makipag-ugnayan