...">
,需要通过父级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);
}
});
})();
LSJ Technology a mis au point un détecteur chimique portatif capable d'identifier des matières dangereuses dans l'air. Cette technologie LSJ détecteur d'agents chimiques est suffisamment compacte pour tenir dans la paume de la main, tout en étant assez puissante pour vous protéger. Imaginez que vous êtes un pompier pénétrant dans un bâtiment en feu ou un officier de police recherchant des indices sur une scène de crime. Vous souhaitez savoir si vous êtes entouré de produits chimiques dangereux contre lesquels vous devrez vous protéger pendant votre intervention. Cet outil vous fournit des mesures instantanées et fiables des produits chimiques dangereux, vous permettant ainsi de vous sentir en sécurité face à toute menace. Que vous effectuiez des tests en laboratoire ou que vous soyez un travailleur nettoyant une fuite, c'est un excellent outil. Une chose impressionnante concernant le détecteur chimique portable de LSJ Technology est sa capacité à identifier quels sont les liquides inconnus, voire même les poudres. Ce capteur peut même examiner les détails minuscules d'une substance approchée et déterminer si elle est sûre ou dangereuse. Imaginez que vous êtes dans un aéroport et que la sécurité a besoin d'ouvrir un colis suspect. Avec ce détecteur de LSJ Technology équipement de détection chimique , ils peuvent rapidement savoir si ce qu'il y a à l'intérieur est inoffensif ou nuisible. Cette technologie nous protège. Le personnel d'urgence et le personnel de sécurité sont souvent confrontés à des situations dangereuses dans lesquelles ils doivent rapidement détecter la présence de produits chimiques nocifs. La technologie LSJ détecteur chimique est un tel outil qui, au minimum, pourrait leur fournir les informations nécessaires pour éviter les situations dangereuses. Que vous soyez un infirmier urgentiste prenant en charge une personne en situation d'urgence ou un agent de sécurité contrôlant les visiteurs lors d'un événement, ce petit appareil vous permet de sentir que vous disposez d'une protection contre les menaces potentielles. Cette technologie LSJ caméra de détection thermique est compacte et facile à utiliser, essentielle pour tous les premiers intervenants et agents de sécurité. Depuis 2013, Handheld Chemical Detector développe, fabrique et fournit des équipements haute performance destinés aux opérations de recherche et de sauvetage ainsi qu’au matériel des pompiers. LSJ a obtenu les certifications ISO 9001, CE et ROHS. L’entreprise détient également plus de 30 brevets. Nous investissons massivement dans notre département de recherche et développement, car nous sommes une entreprise leader. En 2024, LSJ a participé à quatre grandes expositions : INTERSEC à Dubaï, Securika 2024, la 18e édition de Defence Services Asia (DSA) et la 3e édition de National Security Asia (NATSEC) en Malaisie, ainsi que NFPA aux États-Unis. Nous sommes également inscrits à INTERSEC à Dubaï, du 14 au 16 janvier 2025. Lors de cet événement, nous présenterons en direct notre détecteur radar, un radar 3D capable de détecter les murs, les détecteurs de gaz, les équipements d’écoute audio et vidéo, ainsi que les systèmes de surveillance de stabilité et les caméras thermiques dédiées à la lutte contre les incendies. Nous serions ravis de vous accueillir sur notre stand. LSJ possède 11 ans d’expérience en fabrication. L’entreprise est spécialisée dans le développement et la conception de nouveaux produits, fondés sur les scénarios d’utilisation spécifiques de ses clients. Elle améliore continuellement ses capacités tout en réduisant les coûts de production. LSJ dispose également d’une vaste expérience dans le domaine de la recherche et du sauvetage urbains. Par exemple, lors du séisme de Turquie en 2023, le radar détecteur de vie de LSJ a joué un rôle crucial dans les opérations de secours menées par l’équipe chinoise Blue Sky Rescue. Choisissez LSJ pour des solutions avancées, fiables et entièrement adaptées à vos besoins. LSJ est un leader du marché dans la fabrication de détecteurs chimiques portatifs de haute qualité, conformes aux normes internationales.
Service avant-vente :
Nous sommes là pour vous accompagner dès le début. Nous offrons des consultations complètes afin de mieux comprendre vos besoins spécifiques et vous proposer des solutions sur mesure. Nous fournissons les caractéristiques techniques ainsi que des démonstrations des produits pour vous aider à prendre une décision éclairée.
Service vente :
Nous garantissons que l’ensemble du processus de vente se déroule de manière fluide et efficace. Nos détecteurs chimiques portatifs performants, associés à nos procédures rigoureuses de contrôle qualité, vous assurent une livraison dans les délais impartis et des produits d’excellente qualité. Nous assurons également une livraison porte-à-porte.
Service après-vente :
Notre relation avec vous ne prend pas fin une fois que vous avez reçu nos produits. Nous proposons un large éventail de services après-vente, notamment des conseils d’installation, une formation des utilisateurs ainsi que des services de maintenance. Une équipe dédiée de service client est toujours à votre disposition pour répondre à toutes vos questions ou préoccupations et garantir votre entière satisfaction. Après l’achat d’un équipement LSJ, nous vous offrons une garantie de trois ans, et vous pouvez bénéficier de services après-vente spécifiques auprès de nous.
Choisir LSJ, c’est choisir la qualité, la fiabilité et un soutien sans égal. Nous espérons devenir votre partenaire dans les domaines de la recherche urbaine et du sauvetage ainsi que de la lutte contre l’incendie. Nous fournissons des services aux services d'incendie et de secours, aux services de sécurité publique, aux équipes urbaines de recherche et de sauvetage, ainsi qu'à d'autres forces militaires. LSJ propose un détecteur chimique portable destiné à la lutte contre les incendies, aux opérations de recherche et de sauvetage, et aux interventions dans des zones dangereuses traversant divers secteurs industriels.
Caméras thermiques pour la lutte contre l'incendie : Nous avons conçu deux types de caméras thermiques offrant trois choix de résolution : 256 × 192, 384 × 288 et 640 × 512. Elles permettent de surveiller des températures allant jusqu'à 2000 °C.
Équipements de recherche et de sauvetage : Notre gamme comprend des détecteurs de vie radar, des radars 3D à travers les murs, des systèmes de surveillance de la stabilité et de détection des mouvements, ainsi que des détecteurs de gaz.
Caméras thermiques industrielles : En complément des caméras thermiques conçues pour la lutte contre l'incendie, LSJ propose des caméras thermiques portables destinées à la détection des fuites d'eau, aux inspections de bâtiments, aux réparations électroniques, à la détection des pertes de chaleur dans les planchers chauffants et aux inspections des systèmes CVC (chauffage, ventilation et climatisation).
Viseurs thermiques et viseurs de vision nocturne : Nos viseurs de vision nocturne sont parfaits pour la visibilité nocturne et très prisés des chasseurs. Ils se montent facilement sur les fusils.
LSJ fournit des équipements thermiques de sécurité et d'imagerie haut de gamme répondant aux besoins variés des différents secteurs industriels et améliorant l'efficacité et la sécurité des travailleurs. Choisissez LSJ pour bénéficier des solutions les plus modernes et les plus performantes.
Faites confiance à LSJ comme votre premier partenaire en matière de recherche et de sauvetage urbains. Chez LSJ, nous comprenons l'importance d'offrir à nos clients des détecteurs chimiques portables et un service supérieur. Nous proposons des garanties d'une durée d'un an ou de cinq ans, ce qui témoigne de notre confiance dans la robustesse et la qualité de nos produits. Nous investissons massivement dans la recherche et le développement afin de garantir que nos produits répondent aux normes les plus exigeantes. En tant que fabricant, nous appliquons des procédures strictes de contrôle qualité, depuis les matières premières jusqu’au produit fini. Nous proposons une gamme étendue de produits répondant aux besoins de tous. Par ailleurs, nous maintenons un stock complet de matières premières et de composants afin de garantir une livraison ponctuelle pour chaque commande. En cas de non-respect du délai convenu, nous rembourserons 2 % à 5 % de la valeur de la commande à nos clients. Pour vous aider à tirer pleinement parti de nos produits, nous fournissons des vidéos tutorielles détaillées. Nous pouvons également dispenser des formations techniques sur site, entièrement adaptées à vos besoins spécifiques, afin de vous permettre d’utiliser nos produits en toute confiance et aisance. Choisissez LSJ pour des produits de haute qualité, fiables, et un service client exceptionnel. Droits d'auteur © Beijing LSJ Technology Development Co., Ltd. Tous droits réservés
-
Politique de confidentialité
Détecteur chimique de poche
Protection portable contre les produits chimiques dangereux

Appareil compact pour une détection rapide et précise

Capteur portatif permettant d'identifier des liquides et des poudres inconnus

Outil pratique à l'usage des premiers intervenants et du personnel de sécurité
Why choose LSJ Technology Détecteur chimique de poche?
Fabricant d'équipements de recherche et de sauvetage haute performance innovant
Pourquoi LSJ peut être votre fabricant et fournisseur de produits de préparation ?
Une chaîne d'approvisionnement complète en équipements pour les opérations de recherche et de sauvetage en milieu urbain
Garantir la qualité et la livraison dans les délais : l'engagement de LSJ en matière de satisfaction clientèle
Catégories de produits associés
Vous ne trouvez pas ce que vous cherchez ?
Demandez un devis maintenant
Contactez nos consultants pour plus de produits disponibles.Contactez-nous