CAMB-V500. Monitors d'agents químics Fins ara, heu après què són els agents químics i...">
,需要通过父级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);
}
});
})();
un monitor d'agent químic és una eina que ajuda a protegir-nos d'agents nocius. a. CAMB-V500 .monitors d'agents químics Fins ara, heu après què són els agents químics i els seus perills generals, característiques i usos. També és necessari tractar el com i el perquè d'aquests monitors. Els monitors d'agents químics són una mena de superherois que ens protegeixen del que no es veu en detectar productes químics perillosos a l'aire. Amb l'ajuda de LSJ Technology, explorem la tecnologia rere el control d'agents químics i com ajuda en situacions de resposta d'emergència per assegurar-nos que estem segurs independentment del que passi. Sobre LSJ Technology, Inc.: LSJ Technology és un proveïdor de monitors avançats d'agents químics que utilitzen equips de resposta d'emergència, hospitals i altres entitats per protegir persones. Aquests monitors poden detectar fins i tot nivells mínims de substàncies perilloses a l'aire, cosa que pot ajudar a evitar problemes de salut greus. Els monitors d'agents químics ho fan mitjançant el control continu de l'aire que ens envolta per detectar qualsevol indicació de substàncies potencialment perilloses. Uns sensors especials els ajuden a detectar aquestes substàncies i ens avisen si estem en perill. Això és especialment important en entorns com hospitals on s'administren productes químics perillosos als pacients. Fotografia del sergent caporal de personal Laurie Neilsen Els monitors d'agents químics utilitzen tecnologia sofisticada per detectar gasos tòxics a l'aire. Tenen sensors que poden detectar substàncies químiques concretes i avisar-nos de la seva presència. Els monitors de LSJ Technology sempre van equipats amb la tecnologia més moderna per oferir precisió i fiabilitat. Els monitors d'agents químics de LSJ Technology són sensibles i fiables, de manera que sabem que podem confiar en les dades que proporcionen. Això és útil perquè podem prendre immediatament mesures per protegir-nos a nosaltres mateixos i als altres d'aquestes exposicions perilloses. Aquests monitors asseguren que podem evitar accidents i romandre segurs independentment del lloc on siguem. La detecció d'agents químics és una capacitat inestimable per als responsables d'emergències. Amb els monitors de talla mundial de LSJ Technology, les respostes poden ser ràpides i la situació es pot avaluar per trobar la millor solució per mantenir les persones segures. Això proporciona informació actualitzada sobre la qualitat de l'aire perquè els primers responders puguin prendre decisions basades en dades fiables enmig d'un desastre. Els monitors d'agents químics són un aspecte important a considerar en tota planificació de resposta a emergències. Ofereixen als responsables informació essencial per protegir-se a si mateixos i als altres de l'exposició a materials perillosos. Els responsables poden millorar la seva capacitat per mantenir les persones segures en qualsevol tipus d'emergència mitjançant l'ús dels monitors de LSJ Technology. A LSJ, especialitzem en el monitor d'agents químics d'equipament urbà de recerca i rescat de gran qualitat, dissenyat per complir les normes internacionals més exigents.
Servei pre-venda:
Estem aquí per ajudar-vos des del principi. Ofereixem consultes completes per determinar les vostres necessitats i proporcionar solucions personalitzades. També us podem facilitar especificacions tècniques detallades i demostracions dels productes per ajudar-vos a prendre una decisió informada.
Servei de venda:
Durant el procés de venda, assegurarem que tingueu una experiència fluida i eficaç. Garantim que els productes arribin a temps i en perfecte estat, gràcies al nostre sistema de comandes eficient i al control estricte de la qualitat. També oferim lliurament porta a porta.
Servei post-venda:
Un cop rebuts els vostres productes, la nostra relació amb vós no finalitza. Ofereixem una àmplia assistència post-venda que inclou suport per a la instal·lació, formació d'usuaris i serveis de manteniment. Comptem amb un equip de servei al client especialitzat que sempre està disponible per resoldre qualsevol problema o dubte i garantir la vostra satisfacció. Ofereixem una garantia de tres anys sobre tot l'equipament que adquiriu a LSJ. A més, podeu rebre suport post-venda per part nostra.
Triar LSJ és triar confiança, qualitat i suport inigualable. Esperem amb il·lusió convertir-nos en els vostres socis en el camp de la recerca i rescat urbà, així com en el dels bombers. A LSJ, entenem la importància d’oferir monitors d’agents químics i un servei superior als nostres clients. Ofereixem garanties de durada d’un any o de cinc anys. Això demostra la nostra confiança en la durabilitat i la qualitat dels nostres productes. Invertim àmpliament en investigació i desenvolupament per assegurar que els nostres productes compleixin els estàndards més exigents. Com a fabricants, seguim procediments estrictes de control de qualitat, des de les matèries primeres fins al producte final. Ofereixem una gamma de productes que satisfan les necessitats de qualsevol client. A més, mantenim un inventari complet de matèries primeres i components per garantir l’entrega puntual de cada comanda. Si no complim el termini acordat, reemborsarem entre el 2 % i el 5 % del valor de la comanda als nostres clients. Per ajudar-vos a utilitzar els nostres productes, oferim vídeos instructius detallats. També podem oferir cursos tècnics presencials, adaptats específicament a les vostres necessitats, per assegurar-vos que pugueu fer servir els nostres productes amb seguretat i facilitat. Trieu LSJ per obtenir productes d’alta qualitat, sòlids i un servei al client excepcional. Des de la seva fundació com a fabricant de monitors d’agents químics, LSJ ha estat desenvolupant, fabricant i subministrant equipaments d’alta prestació per a operacions de recerca i rescat i per a bombers. LSJ ha obtingut les certificacions ISO9001, CE i ROHS, i també posseeix més de 30 patents. Com a empresa líder, invertim àmpliament en el nostre departament d’investigació i disseny. El 2024, LSJ va participar en quatre esdeveniments importants: INTERSEC a Dubai, Securika 2024, la 18a edició de Defence Services Asia (DSA) i la 3a edició de National Security Asia (NATSEC) a Malàisia, i NFPA als Estats Units. També tindrem un espai propi a INTERSEC a Dubai del 14 al 16 de gener de 2025. En aquest esdeveniment, presentarem el nostre detector de vida per radar, el radar 3D capaç de veure a través de parets, detectors de gas, dispositius d’escolta d’àudio i vídeo, equips de monitorització d’estabilitat i càmeres tèrmiques per a la lluita contra incendis. Us convidem cordialment a visitar el nostre espai. Amb més de 11 anys d’experiència en fabricació, LSJ s’especialitza en redissenyar i produir nous productes segons els escenaris d’ús dels clients, millorant contínuament les seves funcionalitats i reduint-ne els costos. LSJ disposa d’una àmplia experiència en rescats urbans i operacions de recerca. El 2023, durant el terratrèmol a Turquia, el detector de vida per radar de LSJ va ser fonamental en les tasques de rescat realitzades per l’equip xinès Blue Sky Rescue Team. Trieu LSJ per obtenir solucions avançades i fiables, especialment adaptades a les vostres necessitats. Ofereixem suport als departaments de Bombers i Rescat, així com als serveis de Seguretat Pública i als equips d'operacions d'exploració i rescat urbà. LSJ subministra equipament innovador per a la detecció d'agents químics, la realització d'operacions d'exploració i rescat i el treball en àrees perilloses en diversos sectors industrials.
Càmeres tèrmiques per a bombers: Hem estudiat i desenvolupat dos tipus de càmeres tèrmiques. Aquestes càmeres es presenten en tres opcions de resolució: 256x192, 384x288 i 640x512. Poden mesurar temperatures d’fins a 2.000 graus Celsius.
Equipament d’exploració i rescat: Ofereixem una àmplia gamma de productes que inclouen monitors d’estabilització, detectors de gas i sistemes de monitoratge del moviment.
Càmeres tèrmiques industrials: A més de les càmeres tèrmiques per a bombers, LSJ ofereix càmeres tèrmiques manuals per a la detecció de fuites d’aigua, inspeccions d’edificis, reparacions electròniques, detecció de pèrdues en escalfament per sota del terra i inspeccions de sistemes HVAC.
Visors tèrmics i visors de visió nocturna: Són ideals per a la visió nocturna i gaudixen d’una gran popularitat entre els caçadors. Es poden muntar sobre fusells.
LSJ està compromès a subministrar equipament d’imatgeria tèrmica i de rescat d’alta qualitat per satisfer les necessitats de diversos sectors industrials, millorant la seguretat i l’eficiència. LSJ ofereix les solucions més segures i avançades.
Podeu confiar en LSJ com el vostre principal soci en el camp de l’exploració i el rescat urbà. Drets d'autor © Beijing LSJ Technology Development Co., Ltd. Tots els drets reservats
-
Política de privacitat
monitor d'agent químic
Com els monitors d'agents químics ens mantenen segurs

La tecnologia darrere del control d'agents químics

Detecció de substàncies perilloses amb un monitor d'agents químics

Millora de la resposta d'emergència amb la tecnologia de monitoratge d'agents químics
Why choose LSJ Technology monitor d'agent químic?
Per Què LSJ Pot Ser El Teu Fabricant i Proveïdor Principal?
Garantitzar la qualitat i l'entrega puntual: l'esperit de LSJ en l'atenció al client
Innovant en equipament de cerca i salvament de alta prestació
Una cadena d'abastiment completa d'equipament per a la cerca i salvament urbans
Categories de productes relacionats
No trobes el que busques?
Sol·licita un pressupost ara
Posa't en contacte amb els nostres consultors per obtenir més productes disponibles.Posa't en contacte